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 中的一个错误。您将您的网格声明为具有三个相同大小的行。该按钮仅占一排。

当触发调整大小时,WPF 会挤压您的按钮,因为它应该只显示在第一行。启动时应该是这样的:

在此处输入图像描述

MinHeight您可以通过在 Window 上指定 a 来解决此问题:

<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 回答