Чтобы решить проблему CollectionViewSource
на WinRT, Android, iPhone, я решил написать альтернативу, существующую в модели представления.INotifyCollectionChanged и Windows 8
Это прекрасно работает на Windows Phone, но на WinRT CollectionChanged
событие никогда ничего, кроме null
поэтому сбор в коем случае не нагрузки (если вы не вернуться обратно со страницы, а затем к нему еще раз, но это потому, что вид модели хранятся в состоянии).
Исходный код здесь: https://gist.github.com/jamie94bc/6262479
Спасибо!
В Модельное
private ObservableCollection<Task> _col;
private CollectionViewSource<Task> _colView;
public ObservableCollection<Task> Col {
get { return _col ?? (_col = new ObservableCollection<T>()); }
}
public CollectionViewSource<Task> ColView {
get { return _colView ?? (_colView = new CollectionViewSource<Task>(this.Col, x => x.IsComplete, new SortDescription<Task>(x => x.Created))); }
}
В XAML
<ListView ItemsSource="{Binding ColView}"></ListView>