ICollectionView让MVVM更简单
(一)ICollectionView的作用
允许集合具有当前记录管理、自定义排序、筛选和分组这些功能。
(二)如果在MVVM中不用ICollectonView的后果
我们这里以ListBox为例,看看我前面介绍的ListBox制作工具栏
如果我们不用ICollectionView,我们选中ListBox某一项,还必须跟SelectionChanged事件定义一个绑定方法来绑定Command,来处理事件(我们以MvvmLight的处理方式来处理Command),这里我们还要添加MvvmLight中的EventToCommand行为。代码如下
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding SelectionChangedCommand, Mode=OneWay}" PassEventArgsToCommand="True"/>
</i:EventTrigger>
</i:Interaction.Triggers>
上面的问题就很简单了,不需要添加SelectionChanged事件定义一个绑定方法来绑定Command,我们只需要使用ICollcetionView实例的CurrentItemj就可以了,是不是简单了很多呢!ICollectionView除了当前选中项,还有分页、分组功能。可以用ListBox,Combox,DataGrid,DataPager等数据项控件(这里可以看下,我用这种方式处理DataGrid的做法)MVVM Light学习笔记(四):实战篇