【问题标题】:Remove and add GridRow definitions in C#在 C# 中删除和添加 GridRow 定义
【发布时间】:2013-04-24 15:31:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# xaml windows-8


    【解决方案1】:

    简单

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

    【讨论】:

      【解决方案2】:

      试试:

          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 模板使用这种技术来捕捉视图。

      【讨论】:

        【解决方案3】:

        myGrid.Children.Clear();

        删除所有子控件

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-23
          • 1970-01-01
          相关资源
          最近更新 更多