У меня возникла странная проблема с ResourceDictionary в моем Application.Resources. Чтобы заполнить несколько ComboBox внутри моего приложения, я хочу сохранить данные в 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}}" />
Благодаря некоторым удачным обстоятельствам мне удалось выяснить, что размещение другого ресурса, например Style выше, словаря, решает проблему.
<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>
«Ошибка» возникает как в приложении WPF, так и в Silverlight.
Хотя я могу решить эту проблему, используя показанный «трюк», мне любопытно, откуда эта ошибка. Я не смог ничего найти об этом. Может быть, это только я и что-то я неправильно понимаю в ресурсах в WPF.