【问题标题】:Best way to display and Edit a 2D array in WPF在 WPF 中显示和编辑二维数组的最佳方法
【发布时间】:2011-04-28 20:21:08
【问题描述】:

看起来这很容易做到,但似乎并不那么简单。我有一个浮点数或整数的二维数组,我想将它显示在像控件一样的网格中,因此它在能够使用箭头键、制表键等移动方面类似于 Excel。数组会有所不同。这很接近,但仅适用于显示:

How to populate a WPF grid based on a 2-dimensional array

【问题讨论】:

  • 我目前无法尝试...但如果您只是将按钮替换为文本框,您应该也可以编辑数组。但我不确定键盘导航的效果如何。
  • 是的,只要您还为 int 或 float 创建 DependencyObject 包装器,它就可以工作。但是,就像您提到的那样,这并不能解决数据网格附带的所有导航和选择功能。
  • 更新了我使用 DataGrid 的答案

标签: wpf


【解决方案1】:

我发现最简单的方法是使用数据表并动态创建一个:

        DataTable dt = new DataTable();
        int nbColumns = 10;
        int nbRows = 5;
        for (int i = 0; i < nbColumns; i++)
        {
            dt.Columns.Add(i.ToString(), typeof(double));
        }

        for (int row = 0; row < nbRows; row++)
        {
            DataRow dr = dt.NewRow();
            for (int col = 0; col < nbColumns; col++)
            {
                dr[col] = col;
            }
            dt.Rows.Add(dr);
        }

        myDataGrid.ItemsSource = dt.DefaultView;

当然这只是一个随机表,您可以在 DataTable 中加载 2d 或 Xd 数组。而且,您不必实现 IEnumerable 之类的......

【讨论】:

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