所以我在wpf中创建了一个圆形按钮,如下所示:
<Button Grid.Column="3" Width="25" Height="25" Content="X" Margin="10,5,5,5" Foreground="Red" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button.Template>
<ControlTemplate>
<Grid>
<Ellipse Name="Ellipse" Fill="{TemplateBinding Background}"/>
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
但它显示的按钮是:
为什么红色X没有出现在按钮的中央?是否可以更改我的xaml,以便显示红色X. (ps。灰色背景是因为我资源中的按钮样式)
答案 0 :(得分:4)
这是因为Template
中没有任何内容可以显示Content
。为此,您需要使用ContentPresenter
<Button Grid.Column="3" Width="25" Height="25" Content="X" Margin="10,5,5,5" Foreground="Red" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Ellipse Name="Ellipse" Fill="{TemplateBinding Background}"/>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
您还需要将TargetType="{x:Type Button}"
添加到ControlTemplate