私のソリューションは、次のプロジェクトで構成されています。
- ServiceTools.Com
- ServiceTools.UI (スタートアップ)
- ServiceTools.UI.Controls
- ServiceTools.UI.Themes
UI.Controls では、Button から派生するカスタム ボタン コントロールを作成しました。このカスタム ボタンは、ServiceTools.UI.Themes.Buttons.Default.xamlにある ResourceDictionary を使用する必要があります。
したがって、ServiceTools.UI.Controls は ServiceTools.UI.Themes を参照して使用します
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/ServiceTools.UI.Themes;component/Buttons/Default.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
ディクショナリを使用しようとすると、IntelliSense はすべてのブラシを提案します (少なくともトリガー セクションの外)。アプリケーションのデバッグを開始すると、System.Windows.Markup.XamlParseException (
内部例外: ファイルまたはアセンブリ 'ServiceTools.UI.Themes, Culture=neutral' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません。":"ServiceTools.UI.Themes, Culture=neutral"
これが期待どおりに機能しない理由を誰か教えてもらえますか?
編集1:
テスト目的で、ServiceTools.UI.Controls 内に新しい ResourceDictionary を追加し、次のように参照しました。
[...] Source="pack://application:,,,/Themes/Default.xaml"[...]
しかし、同じ結果 - 「リソースが見つかりません」という例外。