C#XAML如何修改网格的行和列的尺寸

时间:2013-12-20 23:32:53

标签: c# wpf xaml grid height

我在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;

还有其他解决方案吗?比这些操作更优雅? (我将使用两行以上,所以没有非常复杂的东西会很好。)

1 个答案:

答案 0 :(得分:2)

你可以这样做,检查GridLength

的其他构造函数
myGrid.RowDefinitions[0].Height = new GridLength(1, GridUnitType.Star);