MouseCapture предотвращает срабатывание всех триггеров на основе мыши в WPF - PullRequest
1 голос
/ 07 ноября 2008

Я использую CaptureMouse () во время операции перетаскивания, чтобы убедиться, что я не пропускаю событие MouseUp, но это, кажется, предотвращает любые события мыши, достигающие любых других объектов на моем Canvas. Это означает, что мои триггеры, основанные на IsMouseOver, не работают, но мне нужно, чтобы они указывали действительные места, где объект может быть удален.

Я делаю это неправильно или есть способ убедиться, что все на моем Canvas все еще получает события мыши?

1 Ответ

5 голосов
/ 07 ноября 2008

Являются ли элементы частью поддерева вашего холста? или за пределами холста? Если они находятся внутри, вы можете использовать метод Capture, который принимает CaptureMode .

Mouse.Capture(elementToCapture, CaptureMode.SubTree);

В качестве альтернативы вам следует взглянуть на класс DragDrop и подумать об использовании вместо него события Drop ?

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