WPF窗口的高度没有改变

时间:2012-12-04 10:55:50

标签: c# wpf

我有wpf窗口,因为我采用了rowdefinition,它在设计器中的高度为零。现在在该窗口中有一个按钮,在按钮单击事件中,我动态地更改行定义的高度,从而改变窗口的高度。但是在运行应用程序后,如果我拖动该窗口并单击该按钮,则无法动态更改窗口的高度。但是,如果我不拖动窗口,那么窗口的高度可以改变,拖动窗口场景中的问题是什么?

这些是我为窗口设置的属性。

MinWidth="400"  CanDrag="True" ShowStatusBar="False" CanResize="True"

设计师中的RowDefinition:

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition x:Name="rowMapping" Height="0"/>
        </Grid.RowDefinitions>
</Grid>

这就是我改变后面代码中rowdefinition的高度的方法。

rowMapping.Height = new GridLength(420);

2 个答案:

答案 0 :(得分:0)

即使我遇到了这个问题,我也不知道发生这种情况的确切原因。但是通过设置Grid.Row / Colomn定义,高度或宽度动态地解决了我的问题。希望这也解决了你的问题。

<Grid.RowDefinitions>
            <RowDefinition x:Name="RowDefName" MinHeight="200" />                
</Grid.RowDefinitions>

代码背后:

RowDefName.Height = new GridLength(1.0, GridUnitType.Star);or   
RowDefName.Height = new GridLength(1.0, GridUnitType.Auto);or
RowDefName.Height = new GridLength(300, GridUnitType.Pixel);

控件放在这一行。

答案 1 :(得分:0)

尝试设置Window的SizeToContent="Height"属性。我还尝试将RowDefinition的高度设置为auto,然后为其内容(如网格)赋予高度。