我有一个带有ListBox
的WPF应用程序。对于此列表框,我想模仿用户控制面板(自Windows Vista以来)的行为 - 即:您单击列表项,它与双击相同。
在Win32中,我打开LVS_EX_ONECLICKACTIVATE样式。
在WPF中,我试图通过处理MouseLeftButtonUp
事件来做到这一点。不幸的是,这很奇怪,它有时会收到错误的项目。
例如,如果双击标题栏(标题)以最大化窗口,则会在列表框中显示第二个鼠标,并引发事件。同样,如果某个项目部分在视图中,单击它会将其滚动到视图中,但是鼠标向上是针对视图中现在的项目而不是单击的项目。
现在,再次,如果这是Win32(在LVS_EX_ONECLICKACTIVATE之前),我会在鼠标上捕获鼠标,记住该项目,并检查我是否在鼠标上捕获。
但它不是Win32,它是WPF。如何在WPF列表框中单击激活?
答案 0 :(得分:0)
我必须承认我从未偶然发现LVS_EX_ONECLICKACTIVATE,但据我所知,处理“SelectionChanged”应该可以解决问题。
或者在选择时双击选择还是激活是否有区别?