Я пытаюсь сделать что-то вроде этого ...
<Style
x:Key="MyBorderStyle"
TargetType="Border">
<Setter
Property="BorderBrush"
Value="{StaticResource MyBorderBrush}" />
<Setter
Property="Background"
Value="{StaticResource MyBackgroundBrush}" />
<Setter
Property="Padding"
Value="{TemplateBinding Padding}" />
</Style>
... но я получаю ошибку: 'Padding' member is not valid because it does not have a qualifying type name.
Как мне предоставить «уточняющее имя типа»?
Примечание. Причина, по которой я пытаюсь это сделать, заключается в том, что я хотел бы включить одну и ту же границу в серию похожих шаблонов ControlTemplates.
Спасибо.
EDIT:
Ну, я попробовал это ...
<Setter
Property="Padding"
Value="{TemplateBinding GridViewColumnHeader.Padding}" />
... и он действительно скомпилирован, но когда я запустил приложение, я получил XamlParseException
:
Cannot convert the value in attribute 'Value' to object of type ''.
Я думал, что, возможно, квалификация Padding
с GridViewColumnHeader
(который является ControlTemplate, с которым я хочу использовать этот стиль) будет работать, но без кубиков.
РЕДАКТИРОВАТЬ 2:
Ну, согласно документации для TemplateBinding
, написано:
Связывает значение свойства в шаблоне элемента управления со значением другого открытого свойства в шаблонном элементе управления.
Похоже, то, что я пытаюсь сделать, просто невозможно. Я действительно хотел бы иметь возможность создавать повторно используемые стили для определенных элементов управления в моих шаблонах элементов управления, но я думаю, что привязки шаблонов не могут быть включены в эти стили.