2013-12-20 72 views
0

的列我在XAML下一個代碼:C#XAML如何修改行的尺寸和網格

<Grid.RowDefinitions> 
     <RowDefinition Height="6*" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

我想是修改代碼,在C#。我用下面的代碼:

ListBoxGrid.RowDefinitions[0].Height = new GridLength(100); 
ListBoxGrid.RowDefinitions[1].Height = new GridLength(800); 

用像素來設置行的高度,工作得很好,但我非常喜歡用「*」 - 的東西,像

ListBoxGrid.RowDefinitions[0].Height = "*"; 
ListBoxGrid.RowDefinitions[1].Height = "3*"; 

我該怎麼做這樣的事情?我在想,解決方案是獲得包含我的網格的控件/頁面的高度:

ListBoxGrid.RowDefinitions[0].Height = ControlHeight/4; 
ListBoxGrid.RowDefinitions[1].Height = ControlHeight/4*3; 

是否有另一種解決方案?比這些操作更優雅? (我將使用兩行以上的行,所以最好不要有太複雜的東西)。

回答

2

你可以做到這一點,檢查其他構造函數GridLength

myGrid.RowDefinitions[0].Height = new GridLength(1, GridUnitType.Star); 
+0

非常感謝!我會討厭使用所有這些操作:) – TheQuestioner