我在名为ResourceDictionary
和Light.xaml
的主题文件夹中创建了2个Dark.xaml
/主题文件。
在两个文件中添加了名为SolidColorBrush
的{{1}}:
BgColor
//
<SolidColorBrush x:Name="BgColor" Color="Silver" />
//在Dark.xaml
在<SolidColorBrush x:Name="BgColor" Color="WhiteSmoke" />
类型项目中,我可以在Application
中添加以下XAML代码,以便我可以在App.xaml
中引用此资源:
UserControl
由于这是<Application>
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Dark" Source="Themes/Dark.xaml" />
<ResourceDictionary x:Key="Light" Source="Themes/Light.xaml"/>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
,我的项目中没有Library Project
。
那么如何关联此App.xaml
以便我可以在ThemeDictionaries
的{{1}}中使用它?
答案 0 :(得分:0)
那么如何链接这个ThemeDictionaries所以我可以在我的UserControl中使用它?
您可以在App.xaml
中引用资源词典,如下所示:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Dark" Source="ms-appx:///MyThemeLibrary/Themes/Dark.xaml"/>
<ResourceDictionary x:Key="Dark" Source="ms-appx:///MyThemeLibrary/Themes/Light.xaml"/>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
MyThemeLibrary
是类库的引用名称。之后,您可以使用您在Dark.xaml
和Light.xaml
中定义的主题,如下所示:
<UserControl
...
d:DesignHeight="300"
d:DesignWidth="400">
<Grid Background="{ThemeResource BgColor}">
</Grid>
</UserControl>