装订不';不能在XAML中始终如一地工作

装订不';不能在XAML中始终如一地工作,xaml,binding,Xaml,Binding,对于样式下指定的模板内的边框: <Thickness x:Key="CommonBorderThickness">2</Thickness> <Style x:Key="CommonButtonStyle" TargetType="Button"> ... <Setter Property="BorderThickness" Value="2" /> ... <Setter Property="Template">

对于样式下指定的模板内的边框:

<Thickness x:Key="CommonBorderThickness">2</Thickness>
<Style x:Key="CommonButtonStyle" TargetType="Button">
...
   <Setter Property="BorderThickness" Value="2" />
...
   <Setter Property="Template">
               <Setter.Value>
                   <ControlTemplate TargetType="Button">
...
                         <Border Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="2"
但这些并不是:

BorderThickness="{TemplateBinding BorderThickness, Converter={StaticResource FourGroupSizeConverter}}"
BorderThickness="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=BorderThickness, Converter={StaticResource FourGroupSizeConverter}}" 

你知道为什么吗?

你的转换器有什么用?另外,在模板的setter(TemplateBinding正在查看的地方)上,只需设置
Value=“{StaticResource CommonBorderThickness}”
如果您确实试图在多个对象上重复使用该属性作为同一属性。CommonBorderThickness仅与第一个BorderThickness指定一起使用,并在第二个或第三个指定替换第一个时删除。。。然后这两个函数使用Setter值来代替。。。为了完整起见,我将它们全部包含在代码示例中,但只使用一个。转换器根据窗口大小调整边框厚度,也用于整个应用程序中的其他边框厚度以及边距和拐角半径值。
BorderThickness="{TemplateBinding BorderThickness, Converter={StaticResource FourGroupSizeConverter}}"
BorderThickness="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=BorderThickness, Converter={StaticResource FourGroupSizeConverter}}"