当资源字典有一个键集时,如何在资源中引用样式

  • 本文关键字:资源 引用 样式 有一个 字典 wpf
  • 更新时间 :
  • 英文 :


我创建了一个需要引用外部资源字典文件的用户控件。然后将此资源文件中的样式用于用户控件中的文本框。

外部资源字典文件如下:

<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设计器强迫我给它一个"键"。

如果字典没有名称,您通常会这样引用它:

Style="{StaticResource ValidatedTextboxStyle}"

我如何在外部资源文件中引用名称为"ValidatedTextboxStyle"的样式,考虑到导入的资源字典的关键名称为"Test"?

将字典合并到控件中 ,您可以像以前一样通过StaticResource使用它。

<Control.Resources>
   <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
         <ResourceDictionary Source="..." />
      </ResourceDictionary.MergedDictionaries>
      <common:StringCollapseVisibilityConverter
                              x:Key="StringCollapseVisibilityConverter" />
   </ResourceDictionary>
</Control.Resources>

同时,你可以忽略在资源字典上设置x:Key,因为资源字典中所有定义的资源都被合并到你的控制资源中。

现在,你可以像前面那样使用:

Style="{StaticResource ValidatedTextboxStyle}"

最新更新