ControlTemplate.TargetType 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置此 ControlTemplate 所针对的类型。
public:
property Type ^ TargetType { Type ^ get(); void set(Type ^ value); };
[System.Windows.Markup.Ambient]
public Type TargetType { get; set; }
[<System.Windows.Markup.Ambient>]
member this.TargetType : Type with get, set
Public Property TargetType As Type
属性值
默认值为 null
。
- 属性
例外
如果模板定义中包含 TargetType,则 ContentPresenter 属性不能为 null
。
指定的类型无效。 TargetType 的 ControlTemplate 必须是 Control、Page 或 PageFunctionBase 或从其继承。
示例
以下示例演示如何使用此属性:
<Style x:Key="{x:Type Label}"
TargetType="Label">
<Setter Property="HorizontalContentAlignment"
Value="Left" />
<Setter Property="VerticalContentAlignment"
Value="Top" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Label">
<Border>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled"
Value="false">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource DisabledForegroundColor}" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
上面的示例使用以下资源:
有关完整示例,请参阅使用 ControlTemplates 设置样式示例。
注解
如果在资源部分中有一个独立的 ControlTemplate ,且 属性 TargetType 设置为某个类型, ControlTemplate 则 不会自动应用于该类型。 相反,需要指定 x:Key
并显式应用模板。
另请注意,TargetType如果模板定义包含 ContentPresenter,则 属性是必需的ControlTemplate。
XAML 属性用法
<object TargetType="typeName"/>
XAML 值
typeName 类的类型名称。 若要引用 Type 类的名称,请使用 标记扩展和 WPF XAML。