【问题标题】:How to programmatically reference a Silverlight DataGrid cell?如何以编程方式引用 Silverlight DataGrid 单元格?
【发布时间】:2009-12-15 16:24:35
【问题描述】:

大多数网格使用诸如 MyGrid[row, col] 之类的语法以编程方式引用特定单元格。

这是如何在 C# 中为 Silverlight DataGrid 完成的?我做过的所有例子 到目前为止只看到使用 XAML。

谢谢。

【问题讨论】:

    标签: silverlight datagrid


    【解决方案1】:

    如果将 itemssource 绑定到 observablecollection,您可以通过修改该集合来获取行和卷。 ui 会自动传播更改

    【讨论】:

      【解决方案2】:

      首先,您可以使用简单的网格。并通过使用 Grid.SetColumn 和 Grid.SetRow 方法来引用任何网格单元格。

      查看链接: http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.setcolumn.aspx http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.setrow.aspx

      简短的例子:

      XAML:

      <Grid Height="Auto" Name="Mygrid" Width="Auto" />

      c#:

      string[] _names = new string[] { "first", "second", "three" };
      
              Mygrid.ShowGridLines = true;
      
              Mygrid.RowDefinitions.Clear();
              Mygrid.ColumnDefinitions.Clear();
      
              int rows = 3;
              int cols = 3;
              for (int r = 0; r < rows; r++)
                  Mygrid.RowDefinitions.Add(new RowDefinition());
              for (int c = 0; c < cols; c++)
                  Mygrid.ColumnDefinitions.Add(new ColumnDefinition());
      
              for (int c = 0; c < Mygrid.ColumnDefinitions.Count; c++)
              {
                  int rowIndex = 0;
                  foreach (string s in _names)
                  {
                      var someControll = new TextBox();
                      someControll.Text = string.Format("{0} row in {1} column", s,c);
                      someControll.Height = 25;
      
                      Mygrid.Children.Add(someControll);
      
                      Grid.SetRow(someControll, rowIndex);
                      Grid.SetColumn(someControll, c);
      
                      rowIndex += 1;
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 2011-02-02
        • 1970-01-01
        • 1970-01-01
        • 2011-12-11
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 2017-01-26
        相关资源
        最近更新 更多