2012-12-04 67 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,然後給它的內容(比如網格)賦予一個高度。