如何绑定到Button BorderThickness?

ann*_*sly 0 c# data-binding xaml microsoft-metro windows-8

我在 xaml 中为Button该类创建了一个自定义样式。这是相关部分:

<Rectangle
    Stroke="{TemplateBinding BorderBrush}"
    StrokeThickness="{TemplateBinding BorderThickness}"/>
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,因为 whileStrokeThickness是 a doubleBorderThickness是 a Thickness

我怎样才能绑定到厚度的实际值(这将始终是统一的),而不会弄乱转换器?

在您标记为完全重复之前,这个问题是不同的。

Ric*_*ter 5

尝试这个:

<Rectangle
    Stroke="{TemplateBinding BorderBrush}"
    StrokeThickness="{Binding RelativeSource={RelativeSource TemplatedParent}, 
        Path=BorderThickness.Left}"/>
Run Code Online (Sandbox Code Playgroud)

笔记

以下绑定

{Binding RelativeSource={RelativeSource TemplatedParent}, Path=MyProperty}
Run Code Online (Sandbox Code Playgroud)

是相同的

{TemplateBinding MyProperty}
Run Code Online (Sandbox Code Playgroud)