我正在尝试做这样的事情...
<Style
x:Key="MyBorderStyle"
TargetType="Border">
<Setter
Property="Padding"
Value="{TemplateBinding Padding}" />
</Style>
...但我得到了以下错误:
'Padding'成员无效,因为它没有合格的类型名称。
如何提供“合格的类型名称”?
注意:我尝试这样做的原因是,我想在一系列相似的ControlTemplates中包含相同的边框。
我也尝试了这个方案:
<Setter
Property="Padding"
Value="{TemplateBinding GridViewColumnHeader.Padding}" />
我尝试编译了代码,它成功通过了,但在运行应用程序时,出现了XamlParseException
:
无法将'Value'属性中的值转换为类型为''的对象。
我以为将 Padding
与我要使用此样式的 GridViewColumnHeader
(这是 ControlTemplate) 合格化可能会有用,但没有效果。
编辑:
根据 TemplateBinding
的文档所说:
将控件模板中的属性值链接到模板控件上其他公开属性的值。
听起来我想做的事情根本就不可能。我真的很想能够为我的控件模板中的某些控件创建可重复使用的样式,但我猜测模板绑定不能包含在这些样式中。
TemplateBinding
只能在ControlTemplate
内使用,这是有道理的……如果我能说服解析器我只想在ControlTemplate
内使用这个样式就好了…… - devuxer