2012-03-12 42 views
0

我有一個帶有4行主網格的WPF應用程序。 我不想通過XAML或後面的代碼將行(0)的屬性MaxHeight綁定到內部控件的值Height。 行內控件(0)是ScrollViewer,在運行時,我在SV內部添加了控件。通過綁定來設置grid.row maxheight

我試着用XAML代碼:

<Grid Name="MainGrid"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" MinHeight="64" MaxHeight="{Binding Path=ActualHeight, ElementName=HeaderScrollViewer}"/> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="50"/> 
</Grid.RowDefinitions> 

而到後面的代碼:

Grid.SetRow(Me.MainGrid, 0) 
    Me.MainGrid.MaxHeight = Me.HeaderScrollViewer.Height 
    Me.MainGrid.UpdateLayout() 

,但沒有運氣...有什麼建議?

+0

所以你基本上只想要動態控制第一行的高度? – JackyBoi 2012-03-12 14:51:57

+0

http://stackoverflow.com/questions/147908/how-do-i-databind-a-columndefinitions-width-or-rowdefinitions-height – Phil 2012-03-14 07:37:48

回答

0

試用ActualHeight

Grid.SetRow(Me.MainGrid, 0) 
    Me.MainGrid.MaxHeight = Me.HeaderScrollViewer.ActualHeight <--- 
    Me.MainGrid.UpdateLayout() 
+0

我已經試過了,但結果是一樣的。 – Jotric 2012-03-13 07:07:18

+0

當我添加控件時,grid.row(0).Heigth被設置爲「Auto」,那麼ScrollView我有內部行(0)可以展開。在添加操作結束時,我擁有控件的維度。但是我無法正確設置MaxHeigt。無論如何,Heigth屬性的圖形效果更好,我不知道爲什麼。 – Jotric 2012-03-13 07:13:08

相關問題