Wpf 如何在调整窗口大小时防止控件拉伸

Wpf 如何在调整窗口大小时防止控件拉伸,wpf,xaml,Wpf,Xaml,我有一个带有按钮、DataGrid和TreeView的WPF应用程序。我所有的控件都在一个网格中 <Grid.ColumnDefinitions> <ColumnDefinition Width="193"/> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="839"/> </Grid.ColumnDefini

我有一个带有按钮、DataGrid和TreeView的WPF应用程序。我所有的控件都在一个网格中

 <Grid.ColumnDefinitions>

        <ColumnDefinition Width="193"/>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="839"/>


    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="138"/>

    </Grid.RowDefinitions>

在表格中,我有:

3个组合框 1树视图 2个文本框


我的问题是,每次我拉伸窗口时,控件都会随着窗口而扩展。然而,它们的形状各不相同,这造成了令人尴尬的视觉效果。我怎样才能将它们保持在原来的位置?

我不确定如何将6个控件放入4个网格单元中,但无论哪种方式都可以使用,例如:


我找到了解决这个问题的方法。我做了一个网格,有4列3行

     <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"  />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>


这很好,但如何使所有控件不相互重叠,而是随窗口扩展?例如:在visual studio中,当我们展开和还原其他控件时,它们保持形状,但随窗口展开。我不确定您的意思,您应该使用适当的宽度类型-自动、固定或百分比,具体取决于您希望网格面板如何反应。然后将网格行和列指定给其他控件,以指定它们在网格中的位置。6控件在4个单元格中。在问题中,您希望将它们保持在原来的位置,但在注释中,您希望它们随窗口扩展。太不清楚了。为什么我的问题被否决了?如果你在否决投票时发表评论会很好,这将有助于用户从犯同样的错误中吸取教训?
     <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"  />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>