我需要对控件模板做什么才能让矩形随按钮的宽度而变化?
<ControlTemplate x:Key="MyButtonTemplate" TargetType="{x:Type Button}">
<Grid>
<Polygon ... />
<Rectangle Width="{TemplateBinding Width}" />
<Polygon ... />
</Grid>
</ControlTemplate>
<Button Template="MyButtonTemplate" Width="25" />
<Button Template="MyButtonTemplate" Width="50" />
<Button Template="MyButtonTemplate" Width="75" />
我不希望矩形分别为25,50和75单位宽;相反,我可能希望矩形为22,47和72个单位宽(比按钮宽度短三个像素)。
我有没有办法在XAML中进行某种数学运算,或者我唯一可以使用像here列出的值转换器?
感谢。
答案 0 :(得分:1)
您可以为网格指定宽度并更改矩形的边距属性:
<ControlTemplate TargetType="{x:Type Button}">
<Grid Width="{TemplateBinding Width}" Background="DarkBlue" >
<Polygon />
<Rectangle Margin="1.5,0,1.5,0" Fill="Aquamarine" />
<Polygon />
</Grid>
</ControlTemplate>