【问题标题】:Autosizing button child elements as button changes size在按钮更改大小时自动调整按钮子元素的大小
【发布时间】:2012-02-05 14:44:39
【问题描述】:

我在一个网格中有许多按钮,它们都会根据正在调整大小的应用程序改变大小。一些按钮具有子元素,例如椭圆或矩形。我似乎也无法让这些调整大小。

这里有一些代码:

<Grid DockPanel.Dock="Right" Width="121">
        <Grid.RowDefinitions>
            <RowDefinition Height="121*" />
            <RowDefinition Height="121*" />
            // Snip
        </Grid.RowDefinitions>
        <Button Name="ellipseButton" PreviewMouseDown="EllipseButtonClickedEvent" HorizontalAlignment="Stretch" Grid.Row="0">
            <Ellipse Width="90" Height="90" Stroke="Black"></Ellipse>
        </Button>
       // Snip
    </Grid>

我知道椭圆的高度和宽度是明确设置的,但是当我删除它时,我似乎根本无法显示椭圆。

如果有任何建议,我将不胜感激。

谢谢。

【问题讨论】:

    标签: c# wpf xaml controls


    【解决方案1】:

    只需将按钮的HorizontalContentAlignmentVerticalContentAlignment 属性设置为Stretch

    <Button Name="ellipseButton" PreviewMouseDown="EllipseButtonClickedEvent" HorizontalAlignment="Stretch" Grid.Row="0"
            HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" >
       <Ellipse Stroke="Black" />
    </Button>
    

    【讨论】:

    • 感谢您的回答,但是当我将其复制到我的按钮中时,椭圆消失了。
    • 那些绑定是多余的,重要的是按钮上的ContentAlignment。
    • @H.B.,你是对的,绑定不是必需的。我会更新我的答案
    • @DarrenYoung,它“消失”是什么意思?我试过了,对我来说效果很好......
    • @Thomas 在您编辑答案之前。我会在早上尝试您更新的答案。感谢您的更新。
    猜你喜欢
    • 2019-11-20
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    相关资源
    最近更新 更多