我的 Application.Resources 中的 ResourceDictionary 遇到了一些奇怪的问题。为了在我的应用程序中填充多个组合框,我想将数据存储在 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}}" />
由于一些幸运的情况,我发现在 Dictionary上方放置另一个资源(如 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 中的资源的理解是错误的。