2016-12-04 6 views
1

私はこれを持っていますWPFクラスライブラリ複数の(ローカル)イメージがリソースとしてマークされています。それらはResourcesという名前のサブフォルダにあります。それらを参照するには、次のマークアップを使用します。アセンブリ名を使用せずにWPFクラスライブラリのリソースイメージを参照する

Icon="/AssemblyName;component/Resources/Logo64x64.ico" 

このアセンブリではすべて正常に動作します。

私の問題は、別の名前のアセンブリでxamlファイルを使用したいということです。つまり、AssemblyNameはビルドからビルドに変更される可能性があります。 AssemblyNameに依存せずにリソースイメージを参照する方法はありますか?または、マークアップ内のアセンブリ名を動的に参照するものを使用できますか?何かのように:

Icon="/%AssemblyName%;component/Resources/Logo64x64.ico" 

またはいつもAssemblyNameを更新する必要がありますか?バッキングC#コードでプロパティを定義してバインディングを使用するのは良い考えですか?私はこれを避けていました。なぜなら、それぞれの画像を参照するためのコードがたくさんあるからです。

あなたが知っている限り、あなたはクラスURIのパックライブラリを使用することはできません、そうですか?どんな助けもありがとう。

ありがとうございます!

+0

? – Clemens

+0

@Clemens、はい、画像ファイルも同じで、アセンブリ間で共有されています。コメントしていただきありがとうございますが、何をすべきかを知りましたが、その解決策は実際は非常に簡単でした。 –

答えて

0

私はこれを逃したのか分かりませんが、リソースがローカルで、相対的に参照できるため、AssemblyNameの使用を完全に避けることができます。私の場合は、XAMLファイルは、別のサブフォルダにある、ようにリソースを参照する必要があります:あなたは同じ名前の画像ファイルリソースを含む異なるアセンブリを持っていますが、これらのリソースを参照して、共通のXAMLファイルを共有する意味

Icon="../Resources/Logo64x64.ico" 
関連する問題