WPF эквивалент LVS_EX_ONECLICKACTIVATE? - PullRequest
1 голос
/ 17 сентября 2010

У меня есть приложение WPF с ListBox. Для этого списка я хотел бы имитировать поведение панели управления пользователями (начиная с Windows Vista), а именно: вы нажимаете один раз на элемент списка, и это аналогично двойному щелчку.

В Win32 я бы сделал это, включив стиль LVS_EX_ONECLICKACTIVATE.

В WPF я пытался сделать это, обрабатывая событие MouseLeftButtonUp. К сожалению, и это странно, иногда он забирает не тот предмет.

Например, если вы дважды щелкнете строку заголовка (заголовок), чтобы развернуть окно, произойдет второе наведение мыши на поле списка, и событие будет вызвано. Точно так же, если элемент частично виден, щелчок по нему прокручивает его, но при наведении курсора мыши поднимается элемент, который сейчас , а не тот, по которому щелкнули.

Теперь, опять же, если бы это был Win32 (до LVS_EX_ONECLICKACTIVATE), я бы получил захват мыши при наведении мыши, запомнил элемент и проверил, что захватил при наведении мыши вверх.

Но это не Win32, это WPF. Как выполнить активацию одним щелчком в списке WPF?

1 Ответ

0 голосов
/ 17 сентября 2010

Должен признать, что я никогда не сталкивался с LVS_EX_ONECLICKACTIVATE, но, как я понял, обработка "SelectionChanged" должна сработать.

Или есть ли разница между двойным щелчком при выборе или активацией при выборе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...