Share via


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

属性值

此样式的目标类型。

属性

示例

以下示例定义将应用于 元素的所有实例的 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>

在不设置 的情况下将 TargetTypeTextBlock 属性设置为 x:Key 类型会将 隐式设置为 x:Key{x:Type TextBlock}。 这也意味着,如果为上述 Stylex:Key 指定除 以外的 {x:Type TextBlock}任何值, Style 则 不会自动应用于所有 TextBlock 元素。 相反,你需要将样式显式应用于 TextBlock 元素。

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

注解

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

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

XAML 属性用法

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

XAML 值

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

typeName 类的类型名称。

适用于