3

同じ DLL から ResourceDictionary リソースを使用するにはどうすればよいですか?

基本的に、Page クラスから派生したすべてのクラスで UI ライブラリを作成しようとしています。すべてのユーザー インターフェイス ページを同じ DLL に保持したいと考えています。

問題を確認するには、VS2012 から Windows 8 ライブラリ プロジェクトを作成し、アイテムの詳細ページを追加します。ここで、作成したページをエディターから開くと、「リソース "LayoutRootStyle" を解決できませんでした」などのエラーが表示されます。

4

1 に答える 1

0

これは単なる Xaml Designer のエラーであるため、プロジェクトのビルドまたは実行が妨げられることはありません。
必要なのは、すべての ResourceDictonary がメイン アプリケーション App.xaml によって参照される必要があることだけです (たとえば<ResourceDictionary Source="/<myLibraryName>/Common/StandardStyles.xaml"/>、リソース ディクショナリを動的に追加するライブラリで Init メソッドを使用または呼び出して作成します)。
Xaml デザイナーでのエラーの簡単な回避策は、ライブラリに App.xaml/App.xaml.cs をコピーすることです (ただし、実行時にメイン アプリケーションは必要な ResourceDictionary への参照を保持する必要があります。のライブラリは使用されません)。
別の可能性は、各ページの ResourceDictionary に参照を追加することですが、ページごとに辞書のインスタンスを作成するため、はるかにコストがかかると思います。

于 2013-09-14T15:32:54.223 に答える