Является ли DataGrid необходимостью в WPF? - PullRequest
23 голосов
/ 24 сентября 2008

Я видел много дискуссий, и люди спрашивали о DataGrid для WPF и жаловались на Microsoft за то, что до сегодняшнего дня у них не было ни одного с их инфраструктурой WPF. Мы знаем, что WPF - это отличная технология пользовательского интерфейса, и у нас есть концепция ItemsControl, DataTemplate и т. Д., И т. Д. Для создания отличного UX. Даже WPF имеет более точно соответствующий элемент управления - ListView, который может быть легко настроен для обеспечения лучшего UX, чем традиционный дисплей типа Datagrid. И я бы сказал, что готовый элемент управления DataGrid убьет или скроет большую креативность и, несомненно, уменьшит инновации в области пользовательского опыта.

Итак, что вы думаете о необходимости использования DataGrid в WPF в качестве компонента Framework? Если вы чувствуете, что это необходимо, то только потому, что мир так привык к способу отображения данных DatGrid в течение многих лет?

Некоторые другие темы, обсуждающие DatGrid: здесь и здесь

Ссылка на WPF ToolKit - последняя версия WPF DatGrid

Ответы [ 7 ]

29 голосов
/ 24 сентября 2008

DataGrids отлично подходят для отображения больших объемов табличных данных, связанных с резервным хранилищем.

Но в мире WinForms произошло то, что люди часто использовали их для всего, что требовало многоэлементный список прокрутки. Вскоре появились готовые сторонние DataGrids, которые позволяли столбцам и полям содержать кнопки, комбинированные списки, значки и т. Д.

DataGrid стал рабочей лошадкой, потому что нужно было что-то, что можно было бы заставить вести себя как. Подобное произошло с DataTables до появления общих коллекций - и когда вы используете много DataTables, представление их в пользовательском интерфейсе с DataGrid - путь наименьшего сопротивления.

Я думаю, что когда вышел WPF, многие программисты, как и я, все еще думали об этом и искали порты WPF концепции DataGrid.

5 голосов
/ 24 сентября 2008

Не могу придумать лучшего элемента управления для отображения табличных данных, особенно в бизнес-приложениях, где вы не хотите изобретать колесо, создавая шаблон / разрабатывая (Headered) ItemsControl, чтобы заставить его вести себя как старый добрый DGV. Я уверен, что вы видели это .

3 голосов
/ 05 февраля 2009

Никто не оспаривает, что вы можете самостоятельно создать элемент управления DataGrid в WPF. То же самое можно сказать и о WinForms, хотя это будет сложнее. Я реализовал некоторые функции с ListView - представление табличных данных легко, можно даже сказать, что они хорошо поддерживаются. Однако количество кода, написанного вручную, необходимого для редактирования ListView, огромно.

Бизнес-приложения обычно требуют редактирования многих таблиц, и вы не хотите быть креативными, вы хотите быть быстрыми. Поэтому, на мой взгляд, нужен DataGrid.

2 голосов
/ 13 января 2009

Да. DataGrids никогда не исчезнет в качестве основных компонентов бизнес-интерфейса. Люди любят свои таблицы, и мы хотим поделиться этой любовью!

Обратите внимание, что MS поставляет эти дополнительные элементы управления - они создали WPF Toolkit в CodePlex для обеспечения быстрого развертывания в стиле открытого кода развертывания.

Он уже включает в себя DataGrid и Календарь.

1 голос
/ 26 сентября 2008

Это важно, но вы можете достичь почти того же эффекта с ListView, который использует GridView, не так ли?

1 голос
/ 25 сентября 2008

Да, это так! Среди многих других элементов управления, которые MS не удалось доставить. (Datepicker, NumericControl)

MS должна сначала дать нам инструменты для выполнения работы, это самое меньшее, что я ожидаю от среды программирования с рекламой wpf.

0 голосов
/ 25 сентября 2008

После работы с WPF около 2 лет. Я бы сказал, что DataGrid - это просто прославленный ListBox (поскольку [почти] все в WPF не имеет стилей).

Можно было бы оформить ListBox, чтобы он брал какой-либо объект и отображал элемент управления «запись» для каждой записи. В зависимости от того, насколько они гибкие, они могут автоматически корректироваться на основе переданного объекта.

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