我创建了一个需要引用外部资源字典文件的用户控件。然后,此资源文件中的样式将用于用户控件中的文本框。
外部资源字典文件如下:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="ValidatedTextboxStyle" TargetType="{x:Type TextBox}">
...
</Style>
然后我将其导入用户控件,如下所示:(删除了长文件位置)
<Control.Resources>
<ResourceDictionary x:Key="Test" Source="..." />
<common:StringCollapseVisibilityConverter x:Key="StringCollapseVisibilityConverter" />
</Control.Resources>
WPF设计师强迫我给它一个关键&#34;由于引用的其他资源。
如果没有具有名称的字典,您通常会将其引用为:
Style="{StaticResource ValidatedTextboxStyle}"
我如何引用名称为&#34; ValidatedTextboxStyle&#34;的样式?在外部资源文件中考虑到导入的资源字典被赋予密钥名称&#34;测试&#34;?
答案 0 :(得分:1)
合并控件中的字典 ,您可以像之前的StaticResource一样使用它。
<Control.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="..." />
</ResourceDictionary.MergedDictionaries>
<common:StringCollapseVisibilityConverter
x:Key="StringCollapseVisibilityConverter" />
</ResourceDictionary>
</Control.Resources>
此外,您可以在资源字典中省略设置x:Key
,因为资源字典中的所有已定义资源都已合并到您的控制资源中。
现在,您可以像之前一样使用:
Style="{StaticResource ValidatedTextboxStyle}"