Проверьте, не нажата ли мышь где-нибудь на экране из-за контроля Silverlight? - PullRequest
1 голос
/ 07 ноября 2011

У меня есть элемент управления Silverlight, который действует как выпадающий список. Я бы хотел получить событие нажатия мышью, когда мышь ISNT находится над выпадающим элементом управления или любым из его дочерних элементов.

как я могу это сделать?

1 Ответ

2 голосов
/ 07 ноября 2011

Ну, это зависит от того, что вы подразумеваете под «Экраном».

С помощью Silverlight вы сможете обнаружить мышку только тогда, когда мышь находится над той частью экрана, на которой установлено включение Silverlight.фактически используя.

Первым шагом будет использование этого кода: -

 Application.Current.RootVisual.AddHandler(UIElement.MouseLeftButtonDown, myMouseButtonHandlerMethod, true)

Впрочем, этого может быть достаточно для вас, если вам все еще нужно обнаружить мышь, когда Popupили ChildWindow используются элементы управления, вам необходимо также прикрепить этот обработчик к ним (поскольку они находятся над RootVisual).

Возможно, вы сможете пойти дальше, если захотите протянуть рукув Javascript в HTML-странице хоста.Если ваш SL-компонент занимает только часть представленной HTML-страницы, вы можете получать дальнейшие события через HTMLBridge, чтобы обнаружить мышь в любом месте клиентской области браузера.

Если вы действительно имеете в виду весь экран, то это не так.В настоящее время это возможно.

...