uwp
Thema-bronnen
Zoeken…
Syntaxis
- C #: Application.Current.Resources ["yourColorKey"]
- Xaml: {ThemeResource yourColorKey}
parameters
Parameter | Doel |
---|---|
yourColorKey | Een sleutel die u geeft om een object Color terug te krijgen. Het verschilt tussen C # en Xaml |
Opmerkingen
Met UWP heeft u de volledige controle over de voordelen van Windows 10. Sommige van deze voordelen zijn grafisch, zoals de thema's Accent-kleur of Donker / Licht.
Om uw app voor te bereiden op compatibiliteit met deze functie, zijn een aantal vooraf gemaakte kleuren in UWP geïmplementeerd om te veranderen met de Accent-kleur van het besturingssysteem waarop het programma wordt uitgevoerd, of met de themakeuze van de gebruiker.
Er zijn twee "manieren" om dit te doen:
Diretly in Xaml, met behulp van het kenmerk
Color = {ThemeResource x}
(ofColor = {ThemeResource x}
welk kenmerk dat eenBrush
als waarde gebruikt, zoals BorderBrush, achtergrond, enz.)In C # Code achter, door te zoeken naar de kleur in de bronmap van de huidige app. Dit geeft een object
Color
, dus als u het in de eigenschapColor
wilt plaatsen van een object waarnaar u verwijst vanuit uw Xaml, moet u een nieuw penseel als volgt maken:
new SolidColorBrush(Application.Current.Resources["yourColorKey"])
Raadpleeg voor een referentie van de kleurtoetsen in c #:
https://msdn.microsoft.com/windows/uwp/controls-and-patterns/xaml-theme-resources
Toegang tot themabronnen in Xaml
Fragment van MyExampleFile.xaml
<TextBlock Foreground="{ThemeResource SystemControlBackgroundAccentBrush}" Text="This is a colored textbox that use the Accent color of your Windows 10"/> <TextBlock Foreground="{ThemeResource SystemControlBackgroundBaseHighBrush}" Text="This is a colored textbox that use a color that is readable in both Light and Dark theme"/>
Toegang tot themabronnen in C #
Fragment van MyExampleFile.xaml
<TextBlock x:Name="MyTextBlock" Text="This is a TextBlock colored from the code behind"/>
Fragment van MyExampleFile.xaml.cs
// We use the application's Resource dictionary to get the current Accent of your Windows 10 MyTextBlock.Color = new SolidColorBrush(Application.Current.Resources["SystemAccentColor"]);