#wpf #listview #mvvm #datagrid #filter
#wpf #listview #mvvm #datagrid #Фильтр
Вопрос:
Я посмотрел демонстрационное видео Mole 2010 (отладчик WPF), в котором есть хорошая функция datagrid, где заголовок содержит текстовое поле фильтра, так что вы можете ввести строку и отфильтровать для этого столбца. Вот видео, функция демонстрируется через 3: 00 минут
http://www.youtube.com/watch?v=bgMg61iM9G8amp;feature=player_embedded#at=180
Я заинтересован в репликации этой функции, но я не уверен, как это сделать изящно. Мое приложение — это приложение WPF MVVM EF, это мое первое приложение WPF.
- Возможно ли создать шаблон для заголовка, в который я также могу добавить текстовое поле и кнопку с крестиком, чтобы содержимое можно было очистить?
- Если да, то как я мог бы привязать текстовое поле для фильтрации его столбца?
- Должен ли я скрывать фактическую строку заголовка и создавать искусственную, в которой я добавляю свой собственный заголовок, текстовое поле, кнопку и т.д., А затем привязываю их к свойствам предложения filter, которые я добавляю в свой CollectionViewSource при вводе строки фильтра? Я надеялся избежать этого, чтобы я мог сохранить сортировку, щелкнув заголовок.
Я действительно не знаю, как это запустить. Есть ли какие-нибудь гуру, которые могли бы подсказать, как это можно сделать? Спасибо!
Ответ №1:
Вы могли бы взглянуть на образец приложения BookLibrary WPF Application Framework (WAF). Показано, как использовать текстовое поле для фильтрации данных в DataGrid. Он также использует MVVM и Entity Framework.
Ответ №2:
возможно, вы захотите попробовать это: http://dotnetexplorer.blog.com/2011/04/07/wpf-itemscontrol-generic-staticreal-time-filter-custom-control-presentation/ => он фильтрует любые коллекции, и вам просто нужно декализировать элемент управления в XAML…