0

我编写了一个自定义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>

样式文件:

<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”无法解析”,我没有看到这个图像。谁能帮我解决这个问题。

4

1 回答 1

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 中的图像构建操作更改为Resource而不是 Content,否则该文件将无法正确构建并包含在项目中。

于 2013-03-20T09:12:58.667 回答