Как сохранить значения фильтра в сетке данных набора инструментов WPF «Расширение фильтра»? - PullRequest
6 голосов
/ 03 августа 2011

Я использую код (VS2008), который я нашел в статье " Автоматический WPF Toolkit DataGrid Filtering ", которая работает очень хорошо.Он реализован как новый «стиль» для заголовка сетки данных, а НЕ как расширение самой сетки данных.У меня вопрос, как я могу сохранить значения, введенные в эти поля фильтра, и затем использовать их для повторного ввода этих значений?

Если невозможно, как есть, как мне изменить исходный код (доступно по ссылке выше) для фильтра (новичок WPF).

Спасибо,

Энрико

Ответы [ 2 ]

2 голосов
/ 03 августа 2011

Не нужно слишком много времени, чтобы углубляться в анализ кода, но вы можете найти его в коде:

В Generic.xaml на line 55 вы найдете этот код:

<Setter Property="Template">

Этот код фактически устанавливает шаблон для GridColumn.В середине , что XAML, вы найдете DelayTextBox объявление типа.Это твой ключ!

С DelayTextBox тип OnTextChanged(TextChangedEventArgs e) начинает поиск.

Еще один совет:

В DataGridColumnFilter.cs вы найдете следующее свойство:

public FilterData FilterCurrentData
 {
     get { return (FilterData)GetValue(FilterCurrentDataProperty); }
     set { SetValue(FilterCurrentDataProperty, value); }
 }

Установите точку останова на get/set, запустите программу и отфильтруйтеколонны.Вы получите четкое видение callstack, поэтому сможете решить, где вы можете подобрать фактическое значение текстового поля, основываясь на дизайне вашего приложения.

РЕДАКТИРОВАТЬ

Посмотрите на тип FilterData, он, я думаю, содержит необходимую вам информацию.

Надеюсь, это поможет.

Привет.

0 голосов
/ 03 августа 2011

Вы можете сохранить их в UserSettings.Я хотел бы создать запись пользователя для каждой записи фильтра и при загрузке заполнить фильтр.

...