在ListView中有2个SelectionMode选项 1.单 - 只能选择一个项目。 2.Multiple - 你可以一个接一个地选择多个项目。 3.Extended - 您可以选择多个项目并使用Ctrl或Shift键。
我需要在ListView中选择一些项目作为TextBox中的文本。 即按下鼠标左键,直到鼠标向上。 并将项目之间的所有内容标记为已选择。
我该怎么做? 感谢
答案 0 :(得分:0)
1.Single:SelectionMode =" Single"?
2多:我认为使用绑定 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。