在C#中删除并添加GridRow定义

时间:2013-04-24 15:31:28

标签: c# xaml windows-8

我在XAML中定义了一个带有RowDefinitions的Grid,我需要在代码中捕捉视图时进行更改,到目前为止,我只能弄清楚如何通过以下方式删除它们:

RowDefinitionCollection defs = mainGrid.RowDefinitions;
defs.RemoveAt(0);
defs.RemoveAt(0);

基本上我需要删除捕捉视图中的所有定义(上面的代码可以工作),但是然后需要使第一行的高度为140,第二行返回为snapped时为“*”。如何添加具有这些特征的定义?

3 个答案:

答案 0 :(得分:3)

简单地

RowDefinitionCollection rdc = mainGrid.RowDefinitions;

rdc.Clear();

rdc.Add(new RowDefinition() { Height = new GridLength(140) });
rdc.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });

答案 1 :(得分:1)

尝试:

    RowDefinitionCollection defs = myGrid.RowDefinitions;
    defs.Add(new RowDefinition() { Height = new GridLength(140) });
    defs.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });

或者,您可以拥有两个网格,只需将可见性修改为可视状态的一部分,然后您就不会在代码中添加大量繁琐的UI操作。内置的Visual Studio模板使用此技术进行捕捉视图。

答案 2 :(得分:0)

myGrid.Children.Clear();

删除所有子控件