Прочитать на английском

Поделиться через


ControlTemplate.TargetType Свойство

Определение

Получает или задает тип, для которого предназначен этот ControlTemplate.

C#
[System.Windows.Markup.Ambient]
public Type TargetType { get; set; }

Значение свойства

Значение по умолчанию — null.

Атрибуты

Исключения

Свойство TargetType не должно быть null, если определение шаблона имеет ContentPresenter.

Указанные типы являются недопустимыми. TargetType ControlTemplate должен являться или наследовать из Control, Page или PageFunctionBase.

Примеры

В следующем примере показано использование этого свойства:

XAML
<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 объект в разделе resources со TargetType свойством , имеющим тип, ControlTemplate объект не применяется к данному типу автоматически. Вместо этого необходимо указать x:Key и применить шаблон явным образом.

Также обратите внимание, что TargetType свойство является обязательным для , ControlTemplate если определение шаблона содержит ContentPresenter.

Использование атрибута XAML

<object  TargetType="typeName"/>

Значения XAML

Typename Имя типа класса. Чтобы сослаться на Type имя класса, используйте расширения разметки и XAML WPF.

Применяется к

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10