如何在窗口调整大小时保持控件不被拉伸

时间:2013-06-20 19:19:27

标签: wpf xaml

我有一个带Buttons,DataGrid和TreeView的WPF应用程序。我的所有控件都在一个Grid中。

 <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 TreeView 2个TextBoxes

我遇到的问题是,每次拉伸窗口时,控件都会随Window一起展开。然而,它们各自的形状各不相同,这会产生尴尬的视觉效果。我怎样才能把它们留在原地?

2 个答案:

答案 0 :(得分:1)

我找到了解决这个问题的方法。我做了一个有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>

答案 1 :(得分:0)

我不确定你是如何在4个网格单元格中获得6个控件的,但无论哪种方式都使用fixed width columns and rows,例如:

<ColumnDefinition Width="200" />