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

Silverlight 3.
У меня был некий перерыв в работе с Silveright и что-то я не вспомнил, как определить, что окно / приложение Silverlight активно или нет. И сделать это нужно вне зависимости, браузерное это приложение Silverlight или это "Out Of Brouser", всю страницу в браузере это занимает или нет.
 
Проблема в том, что события LostFocus и GotFocus не дают возможности определить, что приложение активно или нет.
 
Пока я это сделал через отслеживание событий на корневом элементе – Application.Current.RootVisual.
 
Если вы мне подсажете / напомните, как это определять более красиво, то буду вам очень благодарен.
 
Конечно я это не тестировал на всех вариантах работы Silverlight, но полагаю, что это должно работать.
 
Идея следующая, например, для определения того, что приложение не активно: Если после события потери фокуса происходит событие MouseLeave, то значит приложение перестало быть активным.
Любое же событие получение фокуса говорит о том, что приложени стало активным.

About Ilya Tretyakov, it3xl

Just Google it3xl
This entry was posted in Silverlight and tagged . Bookmark the permalink.

Leave a comment