#wpf
Вопрос:
Мне нужно отобразить в своей программе количество аналогичных статистических данных, таких как:
Name / Age / Salary / Position
John 30 1000 senior
Kate 18 100 intern
... .. .. ...
Всего мне нужно отобразить несколько сотен строк.
Вопрос в том, какой контроль я должен использовать?
По крайней мере, я знаю два варианта:
- используйте управление таблицей
- используйте макет сетки (затем динамически добавляйте метки и т. Д. в сетку)
Я думаю, что с сеткой у меня автоматически будет «пользовательский рендеринг», потому что я могу добавить в сетку все, что угодно, не только «Метку», но и кнопки, например. Однако я не уверен, нужна ли мне такая возможность.
Но мне нужна возможность сортировать таблицу по определенному столбцу.
Таким образом, кажется, что «Таблица» лучше соответствует моим потребностям, однако я заметил, что, похоже, «Таблица» не очень популярна в WPF (я прав? почему?)
Итак, вопрос в том, «Должен ли я использовать таблицу или есть что-то лучше?» Можно ли использовать привязку данных к таблице?
Я абсолютно новичок в WPF, так что извините за любые глупые вопросы 🙂
Ответ №1:
DataGrid и GridView были созданы именно для этого. Когда вы привязываете источник, он создает таблицу, подобную строке, для каждой строки в источнике.
Ответ №2:
Либо используйте a DataGrid
, либо a ListView
(с GridView
), не используйте a Grid
, и о чем это Table
вы говорите? Если вы имеете в виду этот класс, то его можно использовать только в документах потока, которые вам не нужны.
(Примеры см. на страницах документации или выполните поиск)
Комментарии:
1. Я думаю, что это тот самый стол c-sharpcorner.com/uploadfile/yougerthen/…
2. @javapowered: Это управление потоковым контентом, на мой взгляд, не такой уж хороший выбор.
3. Спасибо! и что предпочтительно между DataGrid и ListView?
4. @javapowered: ListView-это более легкий элемент управления, и в основном для представления данных, DataGrid более мощный, поскольку он также предназначен для редактирования. Кроме того, он может автоматически генерировать столбцы. Прочитайте документацию, там есть несколько примеров, или поищите немного в другом месте.