WPF相当于LVS_EX_ONECLICKACTIVATE?

时间:2010-09-17 09:02:25

标签: wpf listbox

我有一个带有ListBox的WPF应用程序。对于此列表框,我想模仿用户控制面板(自Windows Vista以来)的行为 - 即:您单击列表项,它与双击相同。

在Win32中,我打开LVS_EX_ONECLICKACTIVATE样式。

在WPF中,我试图通过处理MouseLeftButtonUp事件来做到这一点。不幸的是,这很奇怪,它有时会收到错误的项目。

例如,如果双击标题栏(标题)以最大化窗口,则会在列表框中显示第二个鼠标,并引发事件。同样,如果某个项目部分在视图中,单击它会将其滚动到视图中,但是鼠标向上是针对视图中现在的项目而不是单击的项目。

现在,再次,如果这是Win32(在LVS_EX_ONECLICKACTIVATE之前),我会在鼠标上捕获鼠标,记住该项目,并检查我是否在鼠标上捕获。

但它不是Win32,它是WPF。如何在WPF列表框中单击激活?

1 个答案:

答案 0 :(得分:0)

我必须承认我从未偶然发现LVS_EX_ONECLICKACTIVATE,但据我所知,处理“SelectionChanged”应该可以解决问题。

或者在选择时双击选择还是激活是否有区别?