在wpf(MVVM)中的listview中选择项

在wpf(MVVM)中的listview中选择项,wpf,listview,mvvm,Wpf,Listview,Mvvm,我有两个列表视图和两个按钮(添加和删除)。我可以从一个列表视图选择一个项目到另一个列表视图。我已经实现了从一个列表到另一个列表的项目移动。但是我希望在另一个列表视图中也选择移动的项目。如果选择多个项目并将其移动,则我希望在移动的列表视图中选择多个项目。将项目添加到第二个列表框,并将其添加到第二个列表框的SelectedItems属性之后。在添加项目之前,可以调用SelectedItems属性的Clear()方法,以便只选择新项目 例如: list2.SelectedItems.Clear();

我有两个列表视图和两个按钮(添加和删除)。我可以从一个列表视图选择一个项目到另一个列表视图。我已经实现了从一个列表到另一个列表的项目移动。但是我希望在另一个列表视图中也选择移动的项目。如果选择多个项目并将其移动,则我希望在移动的列表视图中选择多个项目。

将项目添加到第二个
列表框
,并将其添加到第二个
列表框
SelectedItems
属性之后。在添加项目之前,可以调用
SelectedItems
属性的
Clear()
方法,以便只选择新项目

例如:

list2.SelectedItems.Clear();

foreach (var item in list1.SelectedItems.OfType<object>().ToArray())
{
     list1.Items.Remove(item);
     list2.Items.Add(item);
     list2.SelectedItems.Add(item);
}
list2.SelectedItems.Clear();
foreach(列表1.SelectedItems.OfType().ToArray()中的变量项)
{
列表1.项目。删除(项目);
列表2.项目。添加(项目);
列表2.选择编辑项。添加(项);
}
-本文使用Windows 8现代UI应用程序特定库,但基本概念类似


这篇文章说明了如何保持不同
项控件的多个
selecteditem
同步。

@当我在ListBox上使用ListView时,我认为这个概念是正确的。可能您对SelectedItems有绑定问题?可能是!首先,它只显示“SelectedItem”属性,而不显示“SelectedItems”。即使我将单个项目绑定到列表视图,它也不会反映在列表视图中。@病毒:如果
listview
没有焦点,则所选项目是灰色的,而不是蓝色的,这将很难看到。此外,为了选择多个项目,您必须将
列表框.SelectionMode
属性设置为
扩展
(或者
多个
,如果您只想选择不间断的项目范围,则不推荐),并使用(而不是
SelectedItem
)属性指定要选择的项目。请提供一个非常简单的示例。我使用的是listview而不是listbox。@病毒:当然。我已经更新了答案。如果要将
ListView.ItemsSource
绑定到集合,请使用绑定的集合替换
list1.Items
和/或
list2.Items