WPF 的xaml中,我在制作BUTTON控件的模板中画了一个圆,我怎么样设置这个圆的Width等于控件width的一半?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 的xaml中,我在制作BUTTON控件的模板中画了一个圆,我怎么样设置这个圆的Width等于控件width的一半?相关的知识,希望对你有一定的参考价值。

代码如下:
<ControlTemplate TargetType="x:Type Button">
<Grid>
<Ellipse Margin="0,0,52,0.593" Stroke="White" HorizontalAlignment="Left" Panel.ZIndex="1" Width="22.407">

......
虽然现在设置Ellipse的Width等于22.407合适,但当button控件宽度变换时就不合适了,
所以我想让width等于BUTTON控件宽度的0.5倍,该如何设置?

参考技术A <Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Ellipse Stroke="Black" Panel.ZIndex="1" HorizontalAlignment="Stretch">
</Ellipse>
</Grid>
你把Grid等分成两列,再把Ellipse塞入其中一列并设置其HorizontalAlignment="Stretch“即可追问

这样做确实可以,但有时候不能达到理想想过,谢谢

追答

请问你的理想效果是怎样的呢?

参考技术B 相等的话,应该是Width="TemplateBinding Width" ,如果是一半的话,你试试Width/2,不行的话写个转换吧 参考技术C

写了个示例给你,这里关键的技术是

    TemplateBinding

    IValueConverter

本回答被提问者采纳

如何在.cs中统一动态修改xaml中style资源定义的样式

参考技术A 1.WPF样式 类似于Web应用程序中的CSS,在WPF中可以为控件定义统一的样式(Style)。样式属于资源的一种,例如为Button定义统一的背景颜色和字体: Button A 在Style中定义的属性及值,影响到Window中的所有类型为Button的控件的样式 这种样式本回答被提问者采纳

以上是关于WPF 的xaml中,我在制作BUTTON控件的模板中画了一个圆,我怎么样设置这个圆的Width等于控件width的一半?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何将多个控件添加到 WPF 窗口? [复制]

WPF知识点全攻略05-XAML内容控件

WPF C#代码中引用XAML中的控件

使用WPF为Powershell程序制作GUI界面

如何在VS2010 WPF设计器中控制自定义控件的默认属性

WPF控件动态添加 只是加了一个button 怎么显示不出来呢?窗口是空的