1

我有一个在 XAML 中定义的带有 RowDefinitions 的网格,在代码中使用快照视图时我需要更改它,到目前为止,我只能弄清楚如何通过以下方式删除它们:

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

本质上,我需要删除快照视图中的所有定义(上面的代码有效),但随后需要使第一行的高度为 140,第二行在返回快照后为“*”。我将如何添加具有这些特征的定义?

4

3 回答 3

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) });
于 2013-04-24T16:30:58.883 回答
1

尝试:

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

或者,您可以拥有两个 Grid 并仅将 Visibility 作为可视状态的一部分进行修改,这样您就不会在代码中进行大量繁琐的 UI 操作。内置的 Visual Studio 模板使用这种技术来捕捉视图。

于 2013-04-24T16:21:10.880 回答
0

myGrid.Children.Clear();

删除所有子控件

于 2014-07-30T08:48:45.650 回答