我正在创建一个Windows Phone 8.1应用程序,其中我使用了许多应根据所选主题灯或黑暗显示的图像。
使用正确的命名和缩放创建浅色和深色图像。
我已经创建了以下ThemeResource来根据所选主题设置图像源。
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<Style x:Key="ShowImage" TargetType="Image">
<Setter Property="Source" Value="Assets/image.png"/>
</Style>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<Style x:Key="ShowImage" TargetType="Image">
<Setter Property="Source" value="Assets/image.png"/>
</Style>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
XAML可以根据需要显示图像。
<Grid>
<Image HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="None"
Style="{ThemeResource ShowImage}">
</Image>
</Grid>
当我选择主题启动应用程序时,每次都会显示正确的图像。但是,当我选择不同的主题,然后切换回我的应用程序时,我可以看到背景颜色已更新,但我的图像未动态更新。
据我所知,应该使用ThemeResource动态更新它,但我无法让它工作。 有人知道我的XAML代码有什么问题吗?
答案 0 :(得分:2)
您发布的代码对我来说非常合适。您能否发布有关如何重现该问题的更多详细信息。这就是我所做的。
它改变了背景和相应的图像。 请再次检查您是否犯了其他错误,并且在您发布的代码中,您将图像源设置为两个主题中的相同图像
<Setter Property="Source" value="Assets/image.png"/>