none
wpf ListView 多选绑定问题 RRS feed

  • 问题

  • Hi,All:

         我现在有个ListView,设置SelectionMode="Extended",也就是按住Ctrl键可以多选,但是由于是MVVM模式开发,已选择的Item怎么反映到VM中去,

    以前是通过在UI上加一个CheckBox来做的,现在不要CheckBox了,就无从获取已经选中的Item了,请问各位有啥方法吗?

    
    
    
    

    程序人生

    2013年4月15日 14:29

答案

  • 你好,

    你可以在后台通过遍历myListView.SelectedItems 得到所有选中的选项然后将其存放在一个ListViewItem 类型的list中。 然后将这个list作为一个参数传递到VM中。

    如:

    public void Button_Click(object sender, EventArguments arg) { List<ListViewItem> mySelectedItems = new List<ListViewItem>(); foreach(ListViewItem item in myListView.SelectedItems) { mySelectedItems.Add(item); } ViewModel.SomeMethod(mySelectedItems);//将list作为参数传递。

    }

    当然你也可以采取“将ListViewSelectionChanged事件转换成命令绑定到ViewModel,同时将SelectedItems传递到ViewModel层” 方法等,详情请参考:

    http://bbs.csdn.net/topics/370043840

     

    Lisa Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年4月17日 6:39
    版主