这是我的问题:
在我的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>
有人可以告诉我为什么impossibile使用themeResources?
答案 0 :(得分:1)
它是什么样的形象?它只是一个黑色&amp; Windows Phone现代风格的白色图标?如果是这样,您可以在BitmapIcon
中使用它,Windows Phone会为您着色。这是我用64x64图像的例子。
<Button>
<BitmapIcon UriSource="Assets/Smile.png"
Width="64"
Height="64"/>
</Button>
这是图像:
但是在应用程序中它看起来像这样:
或此
...取决于您的手机设置。
答案 1 :(得分:0)
根据MSDN,用于词典的相应键是Light
和Dark
,而不是Black
和White
。请参阅the documentation。