私は、Microsoft Visual Studio 2017で作成されたいくつかのリソースディクショナリを持つユーザーコントロールライブラリプロジェクトを持っています。リソースディクショナリには、他の開発者が利用できるようにしたいXAMLスタイル他のWPF-Appプロジェクトでそれらを使用することができます。ユーザーコントロールライブラリプロジェクトをWPF-Appプロジェクトに複製することは、良い解決策ではありません。 は、私は次のことを試してみました:WPFのdll参照としてユーザーコントロールライブラリを使用
UserControleLibraryProjectName/bin/debug/
からWPFアプリ内の参照に.dllファイルを追加します。 app.xamlにこれを追加することによって、WPFアプリに使用されるリソースdictionarysインポート:
<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/UserControleLibraryProjectName;component/ResourceDictionaryName.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
MainWindow.xaml
でいつものように、リソース辞書エントリを参照:例えばStyle="{StaticResource style1}"
ため。
エラーなしでコンパイルされますが、参照先のリソースが見つからないため起動時にクラッシュします。 (System.Windows.Markup.XamlParseException
in System.Windows.ResourceDictionary.Source
) 私はリソース辞書を参照するソースタグの構文が間違っているとは確信していますが、私は多くの異なる方法を試しました... Btw。ユーザーコントロールライブラリプロジェクトやMainWindow.xaml
の辞書エントリを参照する場所にエラーはありません。app.xaml
に直接リソースディクショナリコードをコピーすると正常に動作します。
参照先のDLLを正しく使用する方法を知っていますか?