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