2012-12-04 68 views
0

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

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

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

请显示最少的代码隐藏和XAML。 – Dennis

回答

0

即使我面对这个问题,我不知道确切的原因,为什么这个happened.But通过设置Grid.Row/Colomn定义高度或宽度动态解决了我的issue.Hope这解决您的也。

<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); 

而且控件放置在这行。

+0

这并不能解决问题。 – Harikrishna

+0

我有一个spitter和一个控制器,上面那个和下面的那个。如果我移动分离器,然后高度属性,即使设置它没有改变。然后我用上面的代码来改变所有3个控件的高度,它为我工作。 – Sai

0

尝试使用设置SizeToContent="Height"窗口的属性。我也会尝试将RowDefinition的高度设置为auto,然后给它的内容(比如网格)赋予一个高度。