【问题标题】:Capture click on Listview, to see what item was clicked, without selection changing捕获单击 Listview,以查看单击了哪些项目,而无需更改选择
【发布时间】:2018-11-15 22:23:21
【问题描述】:

我目前在项目控件中实现了列表视图。左键单击 itemsource 中集合的属性被设置。 如这里的答案所述: ItemsControl of ListViews, bind SelectedItem from each ListView where the amount of ListViews are dynamic, MVVM

我想在未选中、选中或禁用的项目上使用类似右键单击的功能,以便在后面的代码中从中提取值,而不更改当前选择。

有什么想法吗?

【问题讨论】:

  • 您可以处理PreviewMouseRightButtonDown事件并在其中设置e.Handled = true
  • 这可以阻止选择更改,但我还需要知道单击的是哪个 ListView 项。

标签: c# wpf xaml


【解决方案1】:

感谢@Miamy 和一些扩展搜索,我设法完成了我一直在寻找的东西。

private void ListView_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
   e.Handled = true;
   DependencyObject originalSource = (DependencyObject)e.OriginalSource;
   while ((originalSource != null && !(originalSource is ListViewItem)))
   {
      originalSource = VisualTreeHelper.GetParent(originalSource);
   }
   if (originalSource != null)
   {

   }
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    相关资源
    最近更新 更多