我有一个要求,我需要检查是否有任何记录已经更改,具体取决于我需要提醒用户。 因此,我每5秒使用一次计时器,我试图从数据库验证并向用户显示警报窗口。工作得很好。
问题是,如果用户长时间闲置。随着时间的推移,我会收到多个警报窗口。(考虑每2秒的数据变化)。
所以我需要知道警报窗口是否已经打开,如何获取打开窗口的实例,我可以对其进行操作。
这里我不想创建任何单个实例。如果有任何方法可以直接在silverlight中完成,请告诉我。
答案 0 :(得分:1)
假设您正在使用Telerik窗口(因为问题标记为Telerik),请尝试
RadWindowManager.Current.CloseAllWindows();
或者如果您需要更多控制权,可以使用
通过当前打开的窗口进行迭代RadWindowManager.Current.GetWindows()
答案 1 :(得分:0)
在您的应用程序中创建子窗口作为单例(声明私有成员),然后相应地打开和关闭它,并确保释放您的实例(等于null)。有了它,你只需要检查你的“子窗口”是否与null不同,这意味着它是打开的,如果没有,那么你创建一个实例并打开它。
答案 2 :(得分:0)
您可以通过Application.Current.Windows枚举(包括您的应用程序创建的所有窗口)。您可以在那里找到警报窗口并将其置于前台或创建新窗口。