それは、複数のプロジェクト間でのResourceDictionaryファイルを共有することは可能ですか?
-
09-09-2019 - |
質問
私は1つのプロジェクトでのResourceDictionaryを持っている場合は、
、それは最初のプロジェクトで定義されたリソースを使用する別のプロジェクトを作成することは可能でしょうか?両方のプロジェクトは、WPFアプリケーションではなく、ControlLibrariesあることに注意してください。
感謝!!
解決
はい、限り、プロジェクトBがプロジェクトAへの参照を持っているとして、可能ですもちろんます。
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Project A;component/YourSubFolder/YourResourceFile.xaml" />
</ResourceDictionary.MergedDictionaries>
次に、あなただけのYourResourceFile.xamlで定義されたリソースを使用することができます。
他のヒント
私はアセンブリ自体を参照し、プロジェクト名を使用しないように持っていたことが分かりました。私はまた、パックを使用する必要はありませんでした:///構文を、この作業を取得するために、
。重複質問にこの答えは(私はこの構文は、.NET 4.0で動作することを確認することができます)を使用する形式を指定します。 https://stackoverflow.com/a/10216253/1260563 の
具体的に(私はいつもそれが誰かが使用しているフォルダで考えて構成部品を忘れているので):
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/<YourAssemblyName>;component/<YourReferencedFileHere.xaml>" />
</ResourceDictionary.MergedDictionaries>
ですから、アセンブリAbc.Def.dll、あなたが使用するルートレベルのXyz.xamlと呼ばれるそのDLL内のファイルを持っている場合:
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Abc.Def;component/Xyz.xaml" />
</ResourceDictionary.MergedDictionaries>
注:ReSharperの7は、私はアセンブリ自体を参照しなければならなかったことを指摘した。
。所属していません StackOverflow