uwp
Themenressourcen
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 einenBrush
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 dieColor
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"]);