如何将ThemeDictionaries放入App.xaml?

uubf1zoe  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(87)

我有一个UWP应用程序,必须是多主题(与黑暗和光明的主题)。
如何创建ThemeDictionary以及如何将其放入App.xaml(我希望它在我的应用程序中像“global”一样,而不是PageResources)?
现在看起来像这样:

<ResourceDictionary>
            <ResourceDictionary.ThemeDictionaries>
                <ResourceDictionary x:Key="Light">
                    <SolidColorBrush x:Key="BackgroundBrush" Color="White" />
                    <SolidColorBrush x:Key="ForegroundBrush" Color="Black" />
                </ResourceDictionary>
                <ResourceDictionary x:Key="Dark">
                    <SolidColorBrush x:Key="BackgroundBrush" Color="Black" />
                    <SolidColorBrush x:Key="ForegroundBrush" Color="White" />
                </ResourceDictionary>
            </ResourceDictionary.ThemeDictionaries>
        </ResourceDictionary>

字符串
...现在(无论ThemeDictionary放在哪里),XAML都会抛出以下错误:
第一个月
我的问题在哪里?

yqyhoc1h

yqyhoc1h1#

您需要在**<Application.Resources>**元素中使用<ResourceDictionary>元素,以下是代码示例。

<Application
    x:Class="yourAppName.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:yourAppName">

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.ThemeDictionaries>
                <ResourceDictionary x:Key="Dark">
                    <SolidColorBrush x:Key="BackgroundBrush" Color="Red" />
                    <SolidColorBrush x:Key="ForegroundBrush" Color="Green" />
                </ResourceDictionary>
                <ResourceDictionary x:Key="Light">
                    <SolidColorBrush x:Key="BackgroundBrush" Color="Blue" />
                    <SolidColorBrush x:Key="ForegroundBrush" Color="Yellow" />
                </ResourceDictionary>
            </ResourceDictionary.ThemeDictionaries>
        </ResourceDictionary>
    </Application.Resources>

</Application>

个字符

相关问题