我有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);
答案 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,然后为其内容(如网格)赋予高度。