为了解决 WinRT、Android、iPhone 上的不足CollectionViewSource
,我决定编写一个存在于视图模型中的替代方案。
这在 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>