2014-08-28 69 views
0

我想知道(在我的Silverlight应用程序中)它是否在屏幕上并处于活动状态。 因此,例如,我有活跃的用户界面来获取更新。我不想这样做,如果用户最小化浏览器或用户切换到浏览器中的另一个选项卡。检测Silverlight应用程序是否在浏览器中处于活动状态

是这样的可能吗?

+1

一般来说,我读到“我想我知道答案”作为一个问题提出的第一句话就只要按一下右后卫离开它,因为它基本上可以理解为甚至没有作出努力,但。 ..不SL在系统窗口中有'IsActive'属性,你可以绑定? – 2014-08-28 18:52:15

回答

0

在这种情况下,我喜欢使用带有刻度值的不活动计时器。

DispatcherTimer timer = new DispatcherTimer(); 
timer.Interval = new TimeSpan(0, 0, 60); 
timer.Tick += delegate 
{ 
    IsActive = false; 
}; 

this.MouseMove += (s, a) => 
{ 
    if (IsActive) return; 

    if (timer.IsEnabled) 
    { 
     timer.Stop(); 
     IsActive = true; 
     timer.Start(); 
    } 
}; 
相关问题