Suche…


Syntax

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

Parameter

Parameter Zweck
yourColorKey Ein Schlüssel, den Sie geben, um ein Color Objekt zurückzubekommen. Es unterscheidet sich zwischen C # und Xaml

Bemerkungen

Mit UWP haben Sie die volle Kontrolle über die Vorteile von Windows 10. Einige dieser Vorteile sind grafisch, wie zum Beispiel die Akzentfarbe oder die Dark / Light-Themen.

Um Ihre App auf die Kompatibilität mit diesen Funktionen vorzubereiten, wurde in UWP eine Reihe von vorgefertigten Farben implementiert, die mit der Accent-Farbe des Betriebssystems, auf dem das Programm ausgeführt wird, oder mit der Motivauswahl des Benutzers geändert wird.

Es gibt zwei "Wege", dies zu tun:

  • Direkt in Xaml, mit dem Color = {ThemeResource x} (oder einem anderen Attribut, das einen Brush als Wert annimmt, wie BorderBrush, Hintergrund usw.)

  • In C # Code Behind, indem Sie im Ressourcenverzeichnis der aktuellen App nach der Farbe suchen. Dies ergibt ein Color Objekt. Wenn Sie es also in die Color Eigenschaft eines Objekts einfügen möchten, auf das Sie in Ihrem Xaml-Objekt verweisen, müssen Sie einen neuen Pinsel wie folgt erstellen:

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

Für eine Referenz der Farbschlüssel in c # wenden Sie sich bitte an:

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

Zugriff auf Themenressourcen in Xaml

Ausschnitt aus 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"/>

Zugriff auf Themenressourcen in C #

Ausschnitt aus MyExampleFile.xaml

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

Ausschnitt aus 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow