Как обновить пользовательский интерфейс в соответствии с результатами фильтра ICollectionView? - PullRequest
0 голосов
/ 16 января 2012

У меня есть два элемента управления - SearchFilter и SearchResult. Фильтр содержит кнопки с командами для фильтрации результатов. Элемент управления результатом имеет ListView с привязкой к свойству ICollectionView.

<ListView ItemsSource="{Binding SearchList}">

моя модель с логикой фильтра:

private void FilterTheResults()
{
    var list = (ListCollectionView) SearchList;
    list.Filter = x => ((SearchItem)x).Type == "Video";
}

Проблема заключается в следующем:
Если я перемещаю кнопки с командами из элемента управления фильтра в результат, мой интерфейс обновляется после каждого действия фильтра. Но я хочу держать эти вещи отдельно. Я пытался использовать SearchList.Refresh() и PropertyChanged в FilterTheResults() безуспешно.

1 Ответ

0 голосов
/ 16 января 2012

Примечание редактора: @ Евгений Мартынов отредактировал ответ, который нашел в своем вопросе. Вместо этого я поставил это здесь в качестве ответа.

Решением является один экземпляр модели представления для обоих элементов управления (через DataContext из Window).

...