Application.Resources の ResourceDictionary で奇妙な問題に直面しています。アプリケーション内の複数の ComboBoxes を埋めるために、データを ResourceDictionary に保存したいと考えています。
ただし、「その名前/キーを持つリソースが見つかりません...」というエラーが常に発生します。
ここに私のXAMLコード:
<Application.Resources>
<ResourceDictionary x:Key="RDArray">
<sys:String x:Key="item1">Item1</sys:String>
<sys:String x:Key="item2">Item2</sys:String>
<sys:String x:Key="item3">Item3</sys:String>
</ResourceDictionary>
</Application.Resources>
<ListBox x:Name="lb" ItemsSource="{Binding Values, Source={StaticResource RDArray}}" />
いくつかの幸運な状況により、スタイルのような別のリソースを辞書の上に置くと問題が解決することがわかりました。
<Application.Resources>
<Style x:Key="fubar" />
<ResourceDictionary x:Key="RDArray">
<sys:String x:Key="item1">Item1</sys:String>
<sys:String x:Key="item2">Item2</sys:String>
<sys:String x:Key="item3">Item3</sys:String>
</ResourceDictionary>
</Application.Resources>
この「バグ」は、Silverlight だけでなく WPF アプリケーションでも発生します。
示されている「トリック」を使用してこれを解決できますが、このエラーがどこから来ているのか知りたいです。これについては何も見つかりませんでした。多分それは私だけであり、WPFのリソースについて間違っていることを理解しています。