我有一个小程序,它有一个基于布尔值的项目背景颜色的转换器。我还有一个样式表来涵盖很多基本格式。我有这两个独立工作,但当我尝试将它们放在一起时,如:
UserControl.Resources>
<converter:RawMaterialHighlight x:Key="RawMat"></converter:RawMaterialHighlight>
<ResourceDictionary Source="../Styles.xaml"></ResourceDictionary>
</UserControl.Resources>
我收到了2个错误:
每个词典条目必须具有关联的密钥。
添加到IDictionary的所有对象必须具有Key属性或与其关联的其他类型的键。 13号线位置10.
当我添加x:Key&#34; Dictionary&#34;到字典行,它说它无法解析字典资源
<TextBlock Text="Material Type" Style="{StaticResource ResourceKey=TextBlockSectionHeader}"></TextBlock>
资源&#34; TextBlockSectionHeader&#34;无法解决。
如果我添加Dict.TextBlockSectionHeader,我会得到相同的&#39;无法解析&#39;错误。我假设我在参考资料部分中错误地声明它,但到目前为止我还是无法找到解决方案。
答案 0 :(得分:1)
我在这里找到答案:Merged dictionaries and local resources
答案是将样式嵌套在合并的字典中,并将整个内容放在资源字典中:
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../Styles.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<converter:RawMaterialHighlight x:Key="RawMat"></converter:RawMaterialHighlight>
</ResourceDictionary>
</UserControl.Resources>