ResourceDictionaryのテーマリソースの交換(2):順をロードする前にカバーするために件名のリソース

前のロードシーケンスによってトピックをカバーするためのリソース前のResourceDictionaryテーマリソースの交換(a)は、合併規則のResourceDictionaryリソースのためのWPFフレームワークを紹介します。

 コンパイル時に導入さCipianスキーム、リソースの交換

序文

プロジェクトのテーマリソースディクショナリで、両方に存在する次の図は、私たちは、プロジェクトの重要なテーマの設定を変更したいです。

 

 

 

 まず、デフォルトのグレーのテーマを使用しています

 

 

プロジェクトのプロパティファイルを追加します。

新規ファイルThemes.props(テーマ設定)、

 

テーマの現在のバージョンを追加しました:

1  < プロジェクト> 
2    < PropertyGroup > 
3      < テーマ>テーマレッド</ テーマ>   
4    </ PropertyGroup > 
5  </ プロジェクト>

上記のように、赤色テーマの現在のバージョンを切り替えます

プロジェクトcsprojectを変更

テーマ設定ファイルの紹介:

  < インポートプロジェクト= ".. \ Themes.props" 条件= "(」.. \ Themes.props')存在します"  />

交換するリソースを追加します:

コンパイルする前に、テーマが赤であれば、それは交換され、現在のテーマを決定します。

  • ファイルテーマ-Normal.xamlプロジェクト、テーマ-Red.xamlは、すべてを削除(テーマ-Red.xamlがローカルファイルに基づいて、プロジェクトに追加されていない場合は存在し、この手順を削除する必要はありません)
  • 現在のテーマ-Normal.xamlプログラムのリソースを装っテーマ-Red.xaml
1    < ターゲット= "ReplaceTheme" BeforeTargets = "BeforeBuild" 条件= " '$(のテーマ)' == 'テーマレッド'" > 
2      < ItemGroup > 
3        < ページ削除= "テーマ-Normal.xamlを"  /> 
4        < ページ削除= "テーマ-Red.xamlを"  /> 
5        < ページ含める= "テーマ-Red.xamlを" > 
6          < ジェネレータ> MSBuildの:コンパイル</ ジェネレータ>
7          < リンク>テーマ-Normal.xaml </ リンク> 
8        </ ページ> 
9      </ ItemGroup > 
10    </ ターゲット>

 

テーマカラーを交換した後:

 

 

ピットに注意を払う必要があります

このプログラムは〜、対応する辞書に一致する特定のスタイルや他のリソースが不足している場合、フォローアップがああ予想外の異常を有していてもよく、キー内のリソースを必要とし

避けるためにどのように?

リソースディクショナリは、修復ツール、Githubの住所をダウンロードすることができます。ResourceIntegrityCheck

 ツールは、別のリソースディクショナリからこのリソースファイルをコピーするためのリソースが不足しているだろう。このようなスタイルとして資源が現在のテーマと一致し、修理が完了する前に、コードを提出するように、確認されています。

おすすめ

転載: www.cnblogs.com/kybs0/p/10731416.html