Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在XAML中实现圆形按钮_.net_Wpf_Xaml - Fatal编程技术网

.net 如何在XAML中实现圆形按钮

.net 如何在XAML中实现圆形按钮,.net,wpf,xaml,.net,Wpf,Xaml,如何在XAML中实现下面的圆形按钮,无需外部图像。 中间不需要黑线。 这是一种非常快速的方法。可以将其更改为样式,还可以通过创建TemplatedControl使其更加灵活,从而允许设计师轻松更改颜色和其他属性 <Button Width="100" Height="100"> <Button.Template> <ControlTemplate TargetType="Button"> <

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


这是一种非常快速的方法。可以将其更改为样式,还可以通过创建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>



您必须将按钮的高度和宽度设置为圆形。

为此,请使用ContentPresenter,如下所示。我在回答中添加了ContentPresenter(和网格)。(您从未提到您需要内容)@ernodeweard:我使用您的创建了一个圆形按钮,当窗口处于默认大小时,按钮中有字母R,如果未显示最大化的内容,则仅显示其他内容。。我的窗口的默认高度和宽度为700。。我如何修复它。@Silver-很难猜测您做错了什么,我希望您使用了绝对大小/位置。您可能已将内容的边距设置为绝对值。您可以使用正在使用的代码创建一个新问题,并询问如何正确定位内容。如何以风格编写此问题?
 <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>