ControlTemplate.TargetType Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает тип, к которому применяется ControlTemplate .
public:
property TypeName TargetType { TypeName get(); void set(TypeName value); };
TypeName TargetType();
void TargetType(TypeName value);
public System.Type TargetType { get; set; }
var typeName = controlTemplate.targetType;
controlTemplate.targetType = typeName;
Public Property TargetType As Type
<ControlTemplate TargetType="typeName"/>
Значение свойства
Тип, к которому применяется ControlTemplate . Это значение обычно устанавливается в XAML, а не в коде. См. заметки.
Комментарии
Типичный способ указать значение TargetType — с помощью атрибута XAML в ControlTemplate. Если задано в XAML, значение TargetType и предоставленные значения принимают на себя некоторые аспекты представления типов в XAML. В частности, любые префиксы, необходимые для ссылки на данный тип в качестве элемента XAML, также должны быть включены в качестве значения строки значения TargetType. Например, если шаблон предназначен для настраиваемого типа, которому должен предшествовать уже сопоставленный префикс "local" в определенном область разметки, то значение TargetType должно содержать тот же префикс. Это поведение поддерживается встроенным поведением преобразования в средстве синтаксического анализа XAML среда выполнения Windows.
В большинстве случаев вы устанавливаете TargetType для элемента ControlTemplate , где этот элемент ControlTemplate находится в методе задания для свойства Template . Это, в свою очередь, находится в неявном стиле , определяемом для элемента управления. Значения ControlTemplate.TargetType и Style.TargetType содержащего style объекта всегда должны быть одной и той же ссылкой на тип, ссылаясь на один и тот же элемент управления с неявным именем. В противном случае шаблон элемента управления может не работать.
Дополнительные сведения о написании шаблона элемента управления см. в разделе Краткое руководство. Шаблоны элементов управления.
Примечание
Если вы ранее запрограммировали XAML для Windows Presentation Foundation (WPF), возможно, вы использовали расширение разметки x:Type для заполнения любых значений XAML, которые принимают System.Type. Средство синтаксического анализа XAML среда выполнения Windows не поддерживает x:Type. Вместо этого следует ссылаться на тип по имени без использования расширения разметки, а любое необходимое преобразование типа из XAML в резервный уже обрабатывается встроенным поведением преобразования, описанным в предыдущем абзаце.
Использование TargetType в коде
Установка Параметра TargetType в коде встречается редко. Система стилей и шаблонов XAML предназначена для использования путем загрузки XAML в качестве ресурса и предварительной подготовки всех аспектов шаблона элемента управления. Существует очень мало сценариев, в которых вы не будете знать сведения об элементах управления и шаблонах до выполнения, где необходимо задать TargetType для элемента ControlTemplate , созданного или указанного в коде.
Получение TargetType в коде также редко, но это можно сделать, чтобы дважды проверка, что шаблон ControlTemplate, загруженный из XAML, совместим с заданным целевым объектом элемента управления, полученным из дерева среды выполнения.
Совет
При программировании на языке Microsoft .NET (C# или Microsoft Visual Basic) тип TypeName проектируются как System.Type. При программировании на C# оператор typeof обычно используется для получения ссылок на System.Type типа на основе имени типа в виде строки. В Microsoft Visual Basic используйте GetType.