ControlTemplate.TargetType 屬性

定義

為預期為 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

屬性

例外狀況

如果樣板的定義具有 TargetTypeContentPresenter 屬性便不得為 null

所指定的型別無效。 TargetTypeControlTemplate,必須是 (或必須繼承自) ControlPagePageFunctionBase

範例

下列範例示範如何使用此屬性:

<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>

上述範例使用下列資源:

如需完整的範例,請參閱使用 ControlTemplate 設定樣式範例

備註

如果您在 [資源] 區段中 TargetType 有一個獨立 ControlTemplate ,且屬性設定為類型, ControlTemplate 則 不會自動套用至該類型。 相反地,您必須指定 x:Key 並明確套用範本。

另請注意, TargetType 如果範本定義包含 ContentPresenter ,則需要 上的 ControlTemplate 屬性。

XAML Attribute Usage

<object  TargetType="typeName"/>  

XAML 值

typeName
類別的類型名稱。 若要參考 Type 類別的名稱,請使用 標記延伸模組和 WPF XAML

適用於