Ricerca…


Sintassi

  • C #: Application.Current.Resources ["yourColorKey"]
  • Xaml: {ThemeResource yourColorKey}

Parametri

Parametro Scopo
yourColorKey Una chiave che dai per recuperare un oggetto Color . Differisce tra C # e Xaml

Osservazioni

UWP ti consente di avere il pieno controllo dei vantaggi di Windows 10. Alcuni di questi vantaggi sono grafici, come il colore Accent oi temi Dark / Light.

Per preparare la tua app in modo che sia compatibile con queste funzionalità, sono stati implementati in UWP alcuni colori prematrimoniali da modificare con il colore Accent del sistema operativo su cui è in esecuzione il programma o con la scelta del tema dell'utente.

Ci sono due modi per farlo :

  • Direttamente in Xaml, usando l'attributo Color = {ThemeResource x} (o qualsiasi altro attributo che prende un Brush come valore, come BorderBrush, Background, ecc.)

  • In C # Code Behind, cercando il colore nella directory delle risorse dell'app corrente. Questo dà un oggetto Color , quindi se vuoi metterlo nella proprietà Color di un oggetto a cui fai riferimento da Xaml, devi fare un nuovo pennello come questo:

new SolidColorBrush(Application.Current.Resources["yourColorKey"])

Per un riferimento dei tasti colorati in c #, consultare:

https://msdn.microsoft.com/windows/uwp/controls-and-patterns/xaml-theme-resources

Accesso alle risorse tematiche in Xaml

Snippet da 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"/>

Accesso alle risorse tematiche in C #

Snippet da MyExampleFile.xaml

<TextBlock x:Name="MyTextBlock"
         Text="This is a TextBlock colored from the code behind"/>

Snippet da 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow