上一片我做的批量删除,是更具ListView的选项改变事件,然后放到一个全局变量里面,缺点已经说了.这次又找到一个好的方法.和大家分享一下.这次我将删除按钮的click事件里面的参数绑定为ListView的SelectedItems属性,啥意思呢,就是我点击删除按钮的时候他会把选中项传到ViewModel里面,然后我们就可以得到选中项的ID,当然不足之处是我们把选中项的多个字段都传过去了,其实我们作为删除只需要ID,我其实也试过,我用SelectedItems.ID但是不支持,用SelectedItem.ID可以,但是全选就有问题了.继续研究吧.
<Button Content="删除" Width="100" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Delete">
<cal:Parameter Value="{Binding ElementName=list, Path=SelectedItems}" />
</cal:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
list是ListView控件的名称