我编写了一个自定义ResourceDictionary,以完全相同的方式实现主题支持:通过根据明/暗主题加载适当的主题词典。
<ApplicationName:ThemeResourceDictionary.LightResources>
<ResourceDictionary Source="/ApplicationName;component/Resources/Light.xaml"/>
</ApplicationName:ThemeResourceDictionary.LightResources>
<ApplicationName:ThemeResourceDictionary.DarkResources>
<ResourceDictionary Source="/ApplicationName;component/Resources/Dark.xaml"/>
</ApplicationName:ThemeResourceDictionary.DarkResources>
Stylr文件:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<BitmapImage x:Key="Logo62" UriSource="/ApplicationName;component/icon_62_dark.png" />
在我的XAML页面上,我像
一样使用它<Image Source="{StaticResource Logo62}" Margin="0,4,10,0"/>
当我运行应用程序时一切正常但在Expression Bland中我有一个错误: “资源”Logo62“无法解决”,我没有看到这个图像。 任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
尝试将资源字典更改为:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<BitmapImage x:Key="Logo62" UriSource="/icon_62_dark.png" />
请注意,我删除了/ ApplicationName; component /
否则,您必须将Visual Studio中的图像构建操作更改为资源而不是内容,否则文件将不会正确构建并包含在项目中。