【发布时间】:2021-04-20 14:51:57
【问题描述】:
我想使用 ControlTemplate 创建一个圆形按钮。这是我的代码,当我的宽度和高度等于 30 时它可以完美运行。我知道,是否可以将 RadiusX 和 RadiusY 设置为按钮 Width 的一半(例如 RadiusX={Width/2}) ?
<ControlTemplate x:Key="RoundButton" TargetType="Button">
<Grid>
<Rectangle RadiusX="15" RadiusY="15"
Width="{TemplateBinding Width}" Height="{TemplateBinding Height}"
Fill="{TemplateBinding Background}" />
<ContentPresenter Margin="3"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Grid>
</ControlTemplate>
【问题讨论】:
-
绑定到
ActualWidth。如果您不能使用原始值,但需要一些公式,那么您可能只需要一个转换器 (example)。
标签: c# wpf wpf-controls