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のイメージビルド アクションを Content ではなくResourceに変更する必要があります。そうしないと、ファイルがビルドされず、プロジェクトに正しく含まれません。

于 2013-03-20T09:12:58.667 に答える