可调整大小的圆形按钮xaml

时间:2015-08-24 18:58:48

标签: c# visual-studio xaml windows-applications

我正在XAML / C#中开发一个适用于Windows的通用应用程序,我无法创建一个可以调整大小的圆形按钮。我使用具有均匀拉伸的椭圆,以使其成为圆形和ContentPresenter。

    <ControlTemplate TargetType="Button">
        <Grid>
            <Ellipse Stretch="Uniform">
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
        </Grid>
    </ControlTemplate>

问题是一个均匀的椭圆自动对齐顶部,左边,并且不可能使它拉伸网格。当我调整按钮大小时,ContentPresenter保持在中心,而椭圆保持在左上角。我希望能够调整按钮的大小,并且文本保持在圆圈的中心。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我还发现了另一个使用ViewBox的解决方案:

<ControlTemplate TargetType="Button">
    <ViewBox>
        <Grid>
            <Ellipse Stretch="Uniform" Width="50" Height="50">
            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
        </Grid>
    </ViewBox>
</ControlTemplate>

ViewBox会在调整大小时自动缩放所有内容。你必须设置宽度和高度,但它只是设置比例。在Windows和Windows Phone上使用用户控件时非常有用。 谢谢你的回答!