Silverlight: Как определить активно ли приложение / окно Silverlight, имеет ли оно фокус.

Silverlight 3.

У меня был некий перерыв в работе с Silveright и что-то я не вспомнил, как определить, что окно / приложение Silverlight активно или нет. И сделать это нужно вне зависимости, браузерное это приложение Silverlight или это "Out Of Brouser", всю страницу в браузере это занимает или нет.

 

Проблема в том, что события LostFocus и GotFocus не дают возможности определить, что приложение активно или нет.

 

Пока я это сделал через отслеживание событий на корневом элементе - Application.Current.RootVisual.

 

Если вы мне подсажете / напомните, как это определять более красиво, то буду вам очень благодарен.

 

Конечно я это не тестировал на всех вариантах работы Silverlight, но полагаю, что это должно работать.

 

Идея следующая, например, для определения того, что приложение не активно: Если после события потери фокуса происходит событие MouseLeave, то значит приложение перестало быть активным.

Любое же событие получение фокуса говорит о том, что приложени стало активным.

Комментарии

Популярные сообщения из этого блога

A4tech. Мышь не найдена. Пожалуйста, подсоедините мышь.

SVN: Пропали иконки TortoiseSVN.

Вывод в cmd или bat пустой строки.