Лучший способ для отображения и редактирования 2D-массива в WPF - PullRequest
5 голосов
/ 22 октября 2010

Похоже, это было бы легко сделать, но, похоже, не все так просто. У меня есть двумерный массив чисел с плавающей точкой или целых, и я хотел бы отобразить его в виде элемента управления в виде сетки, чтобы он работал аналогично Excel в отношении возможности перемещения с помощью клавиш со стрелками, клавиш табуляции и т. Д. массив будет меняться. Это близко, но хорошо работает только для отображения:

Как заполнить сетку WPF на основе двумерного массива

1 Ответ

8 голосов
/ 21 февраля 2011

Я обнаружил, что самый простой способ - использовать таблицы данных и создавать их динамически:

        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;

Конечно, это просто случайная таблица, вы можете загрузить 2d или Xd массив в вашу DataTable. А также вам не нужно реализовывать IEnumerable и прочее ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...