如何改写WPF弹出右键菜单,使其在选中菜单项时判断鼠标是否点击?
- 内容介绍
- 文章标签
- 相关推荐
本文共计609个文字,预计阅读时间需要3分钟。
在WPF的TreeView中实现右键选择项,这是一个右键菜单的问题:在实现剪切板功能时,遇到的问题是在弹出右键菜单时,如果菜单位置在ListViewItem中,会导致问题。
和上篇在WPF的TreeView中实现右键选定一样,这仍然是一个右键菜单的问题:
这个需求是在一个实现剪贴板的功能的时候遇到的:在弹出右键菜单时,如果菜单弹出位置在ListViewItem中时,我们认为这项已经被选中,可以使用剪贴板功能。
当菜单弹出位置在ListView的空白处时,我们一般认为没有项被选中,此时是不应该使能剪贴板功能的。
但是这个时候,该项仍然是选中的。不能通过Item的IsSelected的属性来区分这两种情况。这样,就需要我们加一个判断鼠标是否在所选的节点上的函数。实现这个功能的方式有如下两种:
方法1:响应ListView的PreviewMouseRightButtonDown事件,在其中判断是否有节点被选中。
本文共计609个文字,预计阅读时间需要3分钟。
在WPF的TreeView中实现右键选择项,这是一个右键菜单的问题:在实现剪切板功能时,遇到的问题是在弹出右键菜单时,如果菜单位置在ListViewItem中,会导致问题。
和上篇在WPF的TreeView中实现右键选定一样,这仍然是一个右键菜单的问题:
这个需求是在一个实现剪贴板的功能的时候遇到的:在弹出右键菜单时,如果菜单弹出位置在ListViewItem中时,我们认为这项已经被选中,可以使用剪贴板功能。
当菜单弹出位置在ListView的空白处时,我们一般认为没有项被选中,此时是不应该使能剪贴板功能的。
但是这个时候,该项仍然是选中的。不能通过Item的IsSelected的属性来区分这两种情况。这样,就需要我们加一个判断鼠标是否在所选的节点上的函数。实现这个功能的方式有如下两种:
方法1:响应ListView的PreviewMouseRightButtonDown事件,在其中判断是否有节点被选中。

