链接图书馆项目中的主题词典

时间:2016-09-05 09:04:50

标签: xaml uwp

我在名为ResourceDictionaryLight.xaml主题文件夹中创建了2个Dark.xaml /主题文件。

在两个文件中添加了名为SolidColorBrush的{​​{1}}:

在Light.xaml中

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}}中使用它?

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.xamlLight.xaml中定义的主题,如下所示:

<UserControl
    ...
    d:DesignHeight="300"
    d:DesignWidth="400">

    <Grid Background="{ThemeResource BgColor}">
    </Grid>
</UserControl>