选择listView中的listViewItems作为文本

时间:2014-08-06 13:21:29

标签: c# wpf listview multipleselection

在ListView中有2个SelectionMode选项 1.单 - 只能选择一个项目。 2.Multiple - 你可以一个接一个地选择多个项目。 3.Extended - 您可以选择多个项目并使用Ctrl或Shift键。

我需要在ListView中选择一些项目作为TextBox中的文本。 即按下鼠标左键,直到鼠标向上。 并将项目之间的所有内容标记为已选择。

我该怎么做? 感谢

2 个答案:

答案 0 :(得分:0)

1.Single:SelectionMode =" Single"?

2多:我认为使用绑定 enter link description here

3 enter link description here

或者你试试这行SelectionMode =" Muti ..."

答案 1 :(得分:0)

首先,这个问题的部分是显示TextBlocks的listView,允许使用ListView的ItemsSource来显示几个reasone的显示文本。 在每个包含一个单词的textBlock后面,有一个名为Word的ViewModel类。其中包含IsSelected的单词和属性的文本。

我通过向ListViewItem添加3个EventSetter事件来解决这个问题,

1.PreviewMouseLeftDown

2.MouseEnter

3.PreviewMouseLeftUp

并添加一个IsInSelection标志,以及两个在视图中显示控件的对象Word,1.firstSelectionWord,2.lastSelectionWord。

并且,当第一个事件提升时,我将当前控件更新为Selected。 并将标志IsInSelection设置为true。并设置firstSelectionWord = lastSelectionWord =当前单词被按下。

在MouseEnter事件中,我检查IsInSelection是否为true,并且它们还将当前控件标记为Selected = true。设置lastSelectionWord =当前单词。

并调用一个方法,将所有单词标记为已选中。

在PreviewMouseLeftUp函数中,我设置了IsInSelection = false。