【问题标题】:select listViewItems in listView as text选择 listView 中的 listViewItems 作为文本
【发布时间】:2014-09-29 10:59:39
【问题描述】:

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

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

我怎样才能做到? 谢谢

【问题讨论】:

    标签: c# wpf listview multipleselection


    【解决方案1】:

    1.Single: SelectionMode="Single"?

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

    3 enter link description here

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

    【讨论】:

      【解决方案2】:

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

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

      1.PreviewMouseLeftDown

      2.鼠标输入

      3.PreviewMouseLeftUp

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

      并且,当第一个事件引发时,我将当前控件更新为选中。 并将标志 IsInSelection 设置为 true。并设置 firstSelectionWord = lastSelectionWord = 当前按下的单词。

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

      并调用一个方法,将它们之间的所有单词标记为选中。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-16
        • 1970-01-01
        • 2012-08-24
        • 1970-01-01
        • 2010-09-10
        • 1970-01-01
        • 2017-10-12
        • 1970-01-01
        相关资源
        最近更新 更多