Wpf 在相同的资源中使用样式字典和转换器
我有一个小程序,它有一个基于布尔值的项目背景色转换器。我还有一个样式表,涵盖了许多基本格式。我有两个独立的工作,但当我尝试将它们结合在一起时,如:Wpf 在相同的资源中使用样式字典和转换器,wpf,xaml,Wpf,Xaml,我有一个小程序,它有一个基于布尔值的项目背景色转换器。我还有一个样式表,涵盖了许多基本格式。我有两个独立的工作,但当我尝试将它们结合在一起时,如: UserControl.Resources> <converter:RawMaterialHighlight x:Key="RawMat"></converter:RawMaterialHighlight> <ResourceDictionary Source="../
UserControl.Resources>
<converter:RawMaterialHighlight x:Key="RawMat"></converter:RawMaterialHighlight>
<ResourceDictionary Source="../Styles.xaml"></ResourceDictionary>
</UserControl.Resources>
UserControl.Resources>
我有两个错误:
每个字典条目必须有一个关联的键
添加到IDictionary的所有对象都必须具有键属性或与之相关联的其他类型的键。第13行位置10
当我将x:Key“Dictionary”添加到Dictionary行时,它表示无法解析Dictionary资源
<TextBlock Text="Material Type" Style="{StaticResource ResourceKey=TextBlockSectionHeader}"></TextBlock>
无法解析资源“TextBlockSectionHeader”
如果我添加Dict.TextBlockSectionHeader,我会得到相同的“无法解决”错误。我假设我在参考资料部分中的声明不正确,但到目前为止我还无法找到解决方案。我在这里找到了答案:
答案是将样式嵌套在合并词典中,并将整个内容放入资源词典中:
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../Styles.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<converter:RawMaterialHighlight x:Key="RawMat"></converter:RawMaterialHighlight>
</ResourceDictionary>
</UserControl.Resources>