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} (of Color = {ThemeResource x} welk kenmerk dat een Brush 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 eigenschap Color 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"]);


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow