我正在XAML / C#中开发一个适用于Windows的通用应用程序,我无法创建一个可以调整大小的圆形按钮。我使用具有均匀拉伸的椭圆,以使其成为圆形和ContentPresenter。
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse Stretch="Uniform">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
问题是一个均匀的椭圆自动对齐顶部,左边,并且不可能使它拉伸网格。当我调整按钮大小时,ContentPresenter保持在中心,而椭圆保持在左上角。我希望能够调整按钮的大小,并且文本保持在圆圈的中心。 谢谢你的帮助!
答案 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上使用用户控件时非常有用。 谢谢你的回答!