[英]Xaml:Binding only left margin
我写了这段代码:
<ControlTemplate TargetType="Label">
<Grid Height="30" Width="70" x:Name="grid">
<Border>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"></ContentPresenter>
</Border>
<Separator>
<Separator.Margin>
<Thickness Left="{Binding Path=Width,RelativeSource={RelativeSource AncestorType=Label}}" Top="0" Right="0" Bottom="0"/>
</Separator.Margin>
<Separator.LayoutTransform>
<RotateTransform Angle='120'/>
</Separator.LayoutTransform>
</Separator>
</Grid>
</ControlTemplate>
我只想绑定分隔符的左边界,但是这段代码给我错误。 还有其他解决方案吗?
绑定只能应用于DependencyProperty
: 什么是依赖项属性?
Thickness.Left
不是依赖项属性,因此您必须绑定整个Margin
(这是一个依赖项属性)。 要仅调整左边缘,可以创建一个ValueConverter
,它采用Width
并返回Thickness
。 例:
<Separator Margin="{Binding RelativeSource={RelativeSource AncestorType=Label},
Path=Width,
Converter={StaticResource MyLeftMarginConverter}}" >
<Separator.LayoutTransform>
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.