我在XAML中定义了一个带有RowDefinitions的Grid,我需要在代码中捕捉视图时进行更改,到目前为止,我只能弄清楚如何通过以下方式删除它们:
RowDefinitionCollection defs = mainGrid.RowDefinitions;
defs.RemoveAt(0);
defs.RemoveAt(0);
基本上我需要删除捕捉视图中的所有定义(上面的代码可以工作),但是然后需要使第一行的高度为140,第二行返回为snapped时为“*”。如何添加具有这些特征的定义?
答案 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();
删除所有子控件