【问题标题】:How to get the ListView Item that was right clicked before opening the context menu如何在打开上下文菜单之前获得右键单击的 ListView 项
【发布时间】:2016-03-11 13:03:57
【问题描述】:

我有一个附有 ContextMenu 的 ListView。 在我想知道的菜单处理函数中,在显示 ContextMenu 之前右键单击了 ListView 的哪个项目。

我该怎么做?

我正在使用 WPF 和 C#

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    向 ListView.ContextMenuOpening 事件添加处理程序:

    MainWindow.xaml:

    <Grid>
        <ListView x:Name="_myListView" />
    </Grid>
    

    MainWindow.xaml.cs 代码隐藏:

    this._myListView.ContextMenuOpening += this._myListView_ContextMenuOpening;
    

    ...

    void _myListView_ContextMenuOpening(object sender, ContextMenuEventArgs e)
    {
        object selectedItem = this._myListView.SelectedItem;
        // do something with selectedItem...
    }
    

    【讨论】:

    • 如果其他项目也被选中,它似乎无法正常工作。
    • 你试过什么?提示:foreach (var item in this._myListView.SelectedItems) { }
    【解决方案2】:

    您可以为每个 ListViewItem 添加一个 MouseRightButtonUp 处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 2010-09-21
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多