如何在XAML中实现圆形按钮

时间:2012-09-18 04:32:19

标签: .net wpf xaml

如何在XAML中实现如下所示的圆形按钮,无需外部图像。 不需要中间的黑线。

enter image description here

3 个答案:

答案 0 :(得分:48)

这是一种非常快速的方法。它可以变成一种风格,通过创建一个TemplatedControl可以使设计师更容易地改变颜色和其他属性。

<Button Width="100"
        Height="100">
    <Button.Template>
        <ControlTemplate TargetType="Button">
            <Grid>
                <Ellipse Stroke="Black"
                         StrokeThickness="2">
                    <Ellipse.Fill>
                        <RadialGradientBrush>
                            <GradientStop Offset="0"
                                          Color="Lime" />
                            <GradientStop Offset="1"
                                          Color="Lime" />
                            <GradientStop Offset="1"
                                          Color="Gold" />
                            <RadialGradientBrush.Transform>
                                <TransformGroup>
                                    <ScaleTransform ScaleY="0.65" />
                                </TransformGroup>
                            </RadialGradientBrush.Transform>
                        </RadialGradientBrush>
                    </Ellipse.Fill>
                </Ellipse>
                <ContentPresenter HorizontalAlignment="Center"
                                  VerticalAlignment="Center"/>
            </Grid>
        </ControlTemplate>
    </Button.Template>
</Button>

答案 1 :(得分:17)

 <Button  Width="100" Height="100" Content="Abcd">
        <Button.Template>
            <ControlTemplate TargetType="{x:Type Button}">
                <Grid>
                <Ellipse Fill="Red"/>
                    <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </Grid>
            </ControlTemplate>
        </Button.Template>
    </Button>

你必须设置按钮的高度和宽度,使其成为圆形。

答案 2 :(得分:4)

这是一个关于在混合中从头开始构建你的控件的链接。

http://www.codeproject.com/Articles/32257/A-Style-for-Round-Glassy-WPF-Buttons