0

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

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

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

设计器中的行定义:

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

这就是我在后面的代码中更改行定义高度的方式。

rowMapping.Height = new GridLength(420);
4

2 回答 2

0

尝试设置SizeToContent="Height"窗口的属性。我还会尝试将 RowDefinition 的高度设置为 auto,然后为其内容(例如网格)指定高度。

于 2012-12-04T13:46:08.110 回答
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);

并且控件放置在这一行。

于 2012-12-04T11:11:27.263 回答