MyClassLibrary という Silverlight クラス ライブラリがあります。
その中に、MyControl というユーザー コントロールがあります。
コントロール内で、ユーザー リソースを定義します。
<UserControl.Resources>
<Style x:Key="ComboBoxStyle" TargetType="ComboBox">
(lots of xaml)
</Style>
</UserControl.Resources>
コントロールは、次のようなスタイルを使用します。
<ComboBox Style="{ StaticResource ComboBoxStyle }"></ComboBox>
これはすべて完全に機能し、ComboBox は適切なスタイルを提供するので、スタイルが正しく記述されていることがわかります。
私が本当に望んでいるのは、スタイルをリソース ディクショナリに配置して、このアセンブリ内の複数の異なるコントロールで使用できるようにすることです。そこで、SAME アセンブリ内にリソース ディクショナリを作成します。これを ResourceDictionary.xaml と呼びます。
スタイル定義をユーザー コントロールからリソース ディクショナリに移動します。
したがって、リソース ディクショナリは次のようになります。
<ResourceDictionary
xmlns="etc" >
<Style x:Key="ComboBoxStyle" TargetType="ComboBox">
(lots of xaml)
</Style>
</ResourceDictionary>
コントロールのユーザー リソースは次のようになります。
<UserControl.Resources>
<ResourceDictionary
Source="/MyClassLibrary;component/ResourceDictionary.xaml" x:Name="resDict"/>
</UserControl.Resources>
また、コントロールは以前とまったく同じ方法でスタイルを使用します。
「Source」属性をNonExistentFile.xamlに変更しようとしたため、ResourceDictionary.xamlファイルが見つかっていることがわかりましたが、ファイルが見つからないと不平を言いました。ResourceDictionary.xaml ではそのような不満は出ないので、見つけていると思います。
ただし、アプリを実行すると、「名前/キー ComboBoxStyle のリソースが見つかりません」というエラーが表示されます。
私は何を間違っていますか?これはとても単純なようで、うまくいきません。
あなたが私に与えることができる助けを前もって感謝します。