在学习MVVM的过程中,我已经对WPF和ViewModel模式有了一些基本的了解。提供列表时,我使用以下抽象,并且对单个所选项目感兴趣。
public ObservableCollection<OrderViewModel> Orders { get; private set; }
public ICollectionView OrdersView
{
get
{
if( _ordersView == null )
_ordersView = CollectionViewSource.GetDefaultView( Orders );
return _ordersView;
}
}
private ICollectionView _ordersView;
public OrderViewModel CurrentOrder
{
get { return OrdersView.CurrentItem as OrderViewModel; }
set { OrdersView.MoveCurrentTo( value ); }
}
然后,我可以将OrdersView与支持的排序和筛选功能绑定到WPF中的列表:
<ListView ItemsSource="{Binding Path=OrdersView}"
IsSynchronizedWithCurrentItem="True">
这对于单选视图非常有效。但我也想在视图中支持多个选择,并将模型绑定到所选项目的列表。
如何将ListView.SelectedItems绑定到ViewModel的backer属性?
冉冉说
红糖糍粑