Тэги

Silverlight (36) WPF (10) IIS (7) Visual Studio (7) SharePoint (6) .Net Framework (5) ODP.NET (5) ASP.NET (4) C# (4) common (4) Network Settings (3) JavaScript (2) MS Office (2) Resharper (2) WCF (2) WEB (2) XPath (2) XSLT (2) ADO.NET (1) APEX (1) CMD (1) CSS (1) EF (1) HTML (1) Hardware bugs (1) Java (1) MS SQL (1) Oracle (1) PDF (1) Version Control (1) XAML (1)

четверг, 11 марта 2010 г.

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

Silverlight 3.

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

 

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

 

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

 

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

 

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

 

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

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

Комментариев нет:

Отправить комментарий