Как отфильтровать постоянно обновляемую коллекцию, отображаемую в сетке? - PullRequest
0 голосов
/ 04 августа 2010

Допустим, у меня есть приложение WPF, которое показывает «вопросы».Вопросы могут иметь разные статусы, такие как «открыто» и «ответ».Вопросы хранятся в ObservableCollection и отображаются в DataGrid .

Я хочу, чтобы наверху была кнопка переключения, которая переключала бы между "открытыми" и "отвеченными" вопросами.Когда пользователь нажимает кнопку «открыть», сетка должна отображать только открытые вопросы, а когда пользователь нажимает кнопку «отвеченные», она должна отображать только отвеченные вопросы.

Эти объекты постоянно обновляются другимпоток (каждую секунду).Кроме того, их статус может быть изменен из другого потока, а сетка должна быть обновлена.

Какой хороший способ фильтрации в этой коллекции?Прямо сейчас я использую ICollectionView и вызываю Refresh (), когда состояние вопроса меняется, но я получаю ошибки из-за вызова обновления во время транзакции AddItem / EditItem.

1 Ответ

0 голосов
/ 04 августа 2010

Я бы предложил, чтобы вы просто блокировали вызовы Refresh и добавление и редактирование элементов, чтобы избежать конфликта двух потоков и возникновения ошибок

...