我为按钮创建样式:
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#8A88E1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse Fill="{TemplateBinding Background}"/>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
一切都好。现在我想写一些围绕椭圆边界的样式。
答案 0 :(得分:2)
Erno打败了我的答案,但这是一个例子:
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#8A88E1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse Fill="{TemplateBinding Background}" Stroke="..." StrokeThickness="..." />
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
您应该能够将Stroke
绑定到父BorderBrush
,但我还没有对其进行测试:Stroke="{TemplateBinding BorderBrush}"
。但是,您将无法将StrokeThickness
直接绑定到父BorderThickness
,因为它们是两种不同的类型(Ellipse.StrokeThickness
是统一的,而double
值是简单的Button.BorderThickness
{1}}的类型为Thickness
。)。
答案 1 :(得分:1)
有两种选择:
设置椭圆的笔触和笔触厚度或
将模板添加到边框并在模板中使用椭圆。
如果您需要帮助,请告诉我们。