Style.TargetType 属性

定义

获取或设置此样式所针对的类型。

public:
 property Type ^ TargetType { Type ^ get(); void set(Type ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
[System.Windows.Markup.Ambient]
public Type TargetType { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
[<System.Windows.Markup.Ambient>]
member this.TargetType : Type with get, set
Public Property TargetType As Type

属性值

Type

此样式的目标类型。

属性

示例

以下示例定义将应用于元素的所有实例的 TextBlock 样式。

<Style TargetType="{x:Type TextBlock}">
  <Setter Property="FontFamily" Value="Segoe Black" />
  <Setter Property="HorizontalAlignment" Value="Center" />
  <Setter Property="FontSize" Value="12pt" />
  <Setter Property="Foreground" Value="#777777" />
</Style>

将属性设置为TextBlock类型,而不将隐式设置为 {x:Type TextBlock}``x:Key x:KeyTargetType 这也意味着,如果为上述Stylex:Key值提供除其他任何内容之外{x:Type TextBlock}的值,Style则不会自动应用于所有TextBlock元素。 相反,你需要将样式显式应用于 TextBlock 元素。

许多 WPF 控件由其他 WPF 控件的组合组成,因此创建应用于类型的所有控件的样式可能会产生广泛的影响。 例如,如果创建面向控件的样式,该样式TextBox将应用于画布中的所有TextBox控件,即使TextBox它是另一个控件的一部分,如 aComboBoxCanvas

注解

可以在派生自或FrameworkContentElement派生FrameworkElement的任何元素上设置样式。 因此,目标类型可以是这些元素中的任何一个。 但是,如果使用属性创建样式 TargetType ,并将其基于另一 TargetType 个也定义属性的样式,则派生样式的目标类型必须与基本样式的目标类型相同或派生。

如果未指定,TargetType则必须为样式Style指定一个x:Key属性,并且还必须使用类名限定样式中的属性。

XAML 属性用法

<object  TargetType="{x:Type typeName}"/>  
-or-  
<object  TargetType="typeName"/>  

XAML 值

{x:Type ...}
x:Type 标记扩展标记扩展用法。

typeName
类的类型名称。

适用于

另请参阅