1
<Window x:Class="DemoWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" SizeToContent="WidthAndHeight" >
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Button Grid.Row="0" Grid.Column="0" Margin="2">Button</Button>
    </Grid>
</Window>

開始後、ウィンドウが表示されます。

ここに画像の説明を入力してください

ウィンドウのサイズを少し変更すると、次のウィンドウが表示されます。

ここに画像の説明を入力してください

ボタンのサイズが変わるのはなぜですか?

4

1 に答える 1

2

これはおそらく(しかし議論の余地がある)WPFのバグです。グリッドを3つの同じサイズの行があると宣言しています。ボタンは1行だけを占めます。

サイズ変更が実行されると、ボタンは最初の行にのみ表示されるはずなので、WPFはボタンを押しつぶします。起動時には次のようになります。

ここに画像の説明を入力してください

これを修正するMinHeightには、ウィンドウでを指定します。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" SizeToContent="WidthAndHeight" MinHeight="100">
于 2012-05-21T15:11:28.863 に答える