繁体   English   中英

Windows Phone XAML中无法解析ThemeResources

[英]ThemeResources not resolved in Windows Phone XAML

这是我的问题:

在WP 8.1的应用程序中,我必须创建一个带有图像的按钮,并且该图像必须根据设备中使用的主题进行更改,否则它将被背景隐藏。

因此,我尝试使用ThemeResource。 但这无法解决。

这是代码:

MainPage.xaml中

<Page.Resources>
    <ResourceDictionary>  
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ButtonImage.xaml"/>
        </ResourceDictionary.MergedDictionaries>

....

<Button HorizontalAlignment="Left"
        VerticalAlignment="Top" 
        Width="40" Height="40"
        MinWidth="0" MinHeight="0"
        Padding="0"
        BorderThickness="1.5"
        Grid.Column="2"
        Style="{ThemeResource Button123}"/>

ButtonImage.xaml

<Style x:Key="ButtonImage" TargetType="Button">
...
</Style>

<ResourceDictionary.ThemeDictionaries>
    <ResourceDictionary x:Name="Black" x:Key="Black">
        <Style x:Key="ButtonAZ" BasedOn="{StaticResource ButtonImage}" TargetType="Button">
            <Setter Property="Content">
                <Setter.Value>
                    <Image Source="Assets/AtoZWhite.png"></Image>
                </Setter.Value>
            </Setter>
        </Style>
        <Style x:Key="Button123" BasedOn="{StaticResource ButtonImage}" TargetType="Button">
            <Setter Property="Content">
                <Setter.Value>
                    <Image Source="Assets/123White.png"></Image>
                </Setter.Value>
            </Setter>
        </Style>
    </ResourceDictionary>
    <ResourceDictionary x:Name="White" x:Key="White">
        <Style x:Key="ButtonAZ" BasedOn="{StaticResource ButtonImage}" TargetType="Button">
            <Setter Property="Content">
                <Setter.Value>
                    <Image Source="Assets/AtoZBlack.png"></Image>
                </Setter.Value>
            </Setter>
        </Style>
        <Style x:Key="Button123" BasedOn="{StaticResource ButtonImage}" TargetType="Button">
            <Setter Property="Content">
                <Setter.Value>
                    <Image Source="Assets/123Black.png"></Image>
                </Setter.Value>
            </Setter>
        </Style>
    </ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>

有人可以告诉我为什么不能使用themeResources吗?

这是什么样的形象? 它只是Windows Phone Modern风格的黑白图标吗? 如果是这样,您可以在BitmapIcon使用它,Windows Phone会为您着色。 这是我使用64x64图片的示例。

<Button>
    <BitmapIcon UriSource="Assets/Smile.png"
                Width="64"
                Height="64"/>
</Button>

这是图像:
在此处输入图片说明

但是在应用程序中,它将如下所示:
在此处输入图片说明
或这个
在此处输入图片说明
...取决于您的手机设置。

根据MSDN,适合您的词典使用的键是LightDark ,而不是BlackWhite 请参阅文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM