uwp
Zasoby tematyczne
Szukaj…
Składnia
- C #: Application.Current.Resources ["yourColorKey"]
- Xaml: {ThemeResource yourColorKey}
Parametry
Parametr | Cel, powód |
---|---|
yourColorKey | Klucz, który dajesz, aby odzyskać obiekt Color . Różni się między C # i Xaml |
Uwagi
UWP pozwala przejąć pełną kontrolę nad zaletami systemu Windows 10. Niektóre z tych zalet są graficzne, takie jak kolory akcentu lub motywy ciemne / jasne.
Aby przygotować aplikację do zgodności z tymi funkcjami, w UWP zaimplementowano kilka gotowych kolorów, które zmieniają się wraz z kolorem Accent systemu operacyjnego, na którym działa program, lub z wyborem motywu użytkownika.
Można to zrobić na dwa sposoby:
Bezpośrednio w Xaml, za pomocą atrybutu
Color = {ThemeResource x}
(lub dowolnego atrybutu, który przyjmuje wartośćBrush
jako wartości, np. BorderBrush, Background itp.)W C # Code Behind, szukając koloru w katalogu zasobów bieżącej aplikacji. Daje to obiekt
Color
, więc jeśli chcesz umieścić go we właściwościColor
obiektu, do którego odwołujesz się z Xaml, musisz utworzyć nowy pędzel w następujący sposób:
new SolidColorBrush(Application.Current.Resources["yourColorKey"])
Odniesienie do kolorowych klawiszy w c #, proszę skonsultować:
https://msdn.microsoft.com/windows/uwp/controls-and-patterns/xaml-theme-resources
Dostęp do zasobów motywu w Xaml
Fragment z 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"/>
Dostęp do zasobów motywu w C #
Fragment z MyExampleFile.xaml
<TextBlock x:Name="MyTextBlock" Text="This is a TextBlock colored from the code behind"/>
Snippet z 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"]);