Rob*_*its 5 c# xaml winrt-xaml windows-phone-8.1
我正在创建一个 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>
Run Code Online (Sandbox Code Playgroud)
以及根据需要显示图像的 XAML。
<Grid>
<Image HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="None"
Style="{ThemeResource ShowImage}">
</Image>
</Grid>
Run Code Online (Sandbox Code Playgroud)
当我使用选定的主题启动应用程序时,每次都会显示正确的图像。但是,当我选择不同的主题然后切换回我的应用程序时,我可以看到背景颜色已更新,但我的图像并未动态更新。
据我所知,应该使用 ThemeResource 来动态更新它,但我无法让它工作。有人知道我的 XAML 代码有什么问题吗?
您发布的代码对我来说效果非常好。您能否发布有关如何重现该问题的更多详细信息。这就是我所做的。
它改变了背景和相应的图像。请再次检查您是否犯了其他错误,并且在您发布的代码中您将两个主题中的图像源设置为相同的图像
<Setter Property="Source" value="Assets/image.png"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2645 次 |
| 最近记录: |