У меня есть триггер IsMouseOver для моего элемента. У меня также есть действие перетаскивания, когда другой элемент захватывает мышь, и поэтому триггер IsMouseOver никогда не происходит, но я явно хочу, чтобы это произошло на некоторых элементах, когда я перетаскиваю его (мышь захвачена и все). Это возможно?IsMouseOver при захвате мыши
ответ
Когда пользователь перетаскивает что-то, мышь «захвачена» в этот момент, а события мыши не отправляются на элементы управления, которые проходит мышь. Только элемент управления, который фактически «захватил мышь», получает события мыши. Таким образом, вам нужно обрабатывать эти события там. Это должно быть легко. Если у вас возникли проблемы, не стесняйтесь пишите мне с помощью некоторого образца кода, и я проверю его для вас. Лучший из пожеланий.
Я знаю, что это задавали несколько лет назад, но на всякий случай кто-то приземляется здесь из поисковой системы (как и я), вот как я решил проблему для себя. Вместо того чтобы использовать IsMouseOver
свойства, используйте хит-тестирование в вашем коде, чтобы определить, если указатель мыши находится внутри элемента управления:
bool IsMouseOverEx = false;
VisualTreeHelper.HitTest(this, d =>
{
if (d == this)
{
IsMouseOverEx = true;
return HitTestFilterBehavior.Stop;
}
else
return HitTestFilterBehavior.Continue;
},
ht => HitTestResultBehavior.Stop,
new PointHitTestParameters(Mouse.GetPosition(this)));
if (IsMouseOverEx)
{
//Do whatever you need in case of MouseOver
}
нотабене Если вы не прочитали вопрос, обратите внимание, что этот метод является обходным путем для ситуаций, когда мышь «захвачена», и поэтому свойство IsMouseOver
работает некорректно. В нормальных ситуациях вы всегда должны использовать IsMouseOver
.
- 1. Как захватить курсор мыши в захвате экрана?
- 2. IsMouseOver не запускается
- 3. CheckBox IsChecked & IsMouseOver
- 4. Потеря качества при захвате экрана
- 5. Сохранение положения курсора при захвате
- 6. проблема при захвате ошибки `make`
- 7. IsMouseOver в Баттона
- 8. TabItem BorderBrush не обновляется при запуске IsMouseOver
- 9. IsMouseOver возвращает False при превышении ContextMenu или ошибки проверки?
- 10. WPF Trigger on IsMouseOver для операции DragDrop
- 11. StackPanel IsMouseOver является Ложные - при наведении курсора мыши над зазором между StackPanel пунктами
- 12. Включите курсор мыши в захвате экрана с помощью SharpDX
- 13. Флажок IsMouseOver не работает
- 14. Silverlight IsMouseOver не работает
- 15. WPF ControlTrigger IsMouseOver
- 16. IsMouseOver в UserControl
- 17. Что особенного в захвате мыши и средней кнопке мыши в WPF?
- 18. WPF ComboBox ControlTemplate Background IsMouseOver
- 19. Получить/установить разрешение видео при захвате изображения
- 20. ошибка при захвате камеры и аудиовхода
- 21. Как создать прямоугольную область при захвате (камеры)
- 22. Захватить составные узлы при захвате дочернего узла
- 23. iOS Webrtc - Сбой при захвате локального видеопотока
- 24. Помощь при захвате с регулярным выражением
- 25. android Вращение вызывает NullPointerException при захвате фото
- 26. Приложение сбой при захвате большого количества изображений
- 27. Как удалить пробел при захвате текста()
- 28. UIImagePickerControllerOriginalImage nil вызывает сбои при захвате фотографий
- 29. AVCaptureSession ошибка -11819 при захвате видео
- 30. AccessViolationException в EmguCV (3.x) при захвате
Вы нашли ответ на свой вопрос? –