1

我有一个带有按钮的 WPF 窗口。我希望按钮根据其文本增加或减少宽度。我怎样才能做到这一点?

4

2 回答 2

3

只需将Width属性设置为Auto并给出一个 Horizo​​ntalAlignment ( Center,RightLeft),因为它的默认值为Stretch,这会导致填充其容器。

这是一个关于它如何工作的例子:

代码

<Window x:Class="StackOverflow.WPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

        <Button Content="A Default Button"/>
        <Button Content="An Auto Width Button" 
                Width="Auto" 
                HorizontalAlignment="Center" 
                Grid.Column="1"/>
        <Button Content="An Auto Width and Height Button" 
                Width="Auto" Height="Auto" 
                HorizontalAlignment="Center" 
                VerticalAlignment="Center" 
                Grid.Column="0" Grid.Row="1"/>
    </Grid>
</Window>

输出

在此处输入图像描述

于 2013-03-27T13:06:00.910 回答
2

如果你没有为你的按钮设置一个固定的宽度,它已经将它的宽度适应它的内容。

于 2013-03-27T13:09:46.740 回答