强制在WPF中首先关闭当前窗口

时间:2016-09-29 06:09:00

标签: c# wpf window

我正在使用WPF应用程序,目前它有一个窗口,并且在特定时间(根据我的要求)。它显示在最优先的位置。

this.Visibility = Visibility.Visible; 
this.Topmost = true;

现在,我希望用户应该首先关闭这个窗口(WPF应用程序窗口),直到无法从系统访问任何其他东西。(用户也无法访问其他应用程序)似乎强制关闭第一个窗口

我已被搜查,但没有得到任何东西。

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你不能。

想象一下,另一个应用程序尝试同时执行相同的操作 - 您无法在窗口B之前关闭窗口A,但是您无法在窗口A之前关闭窗口B,但是......

编辑:上面的简短版本可能会被误解,所以更详细:

假设您的应用程序为用户提供了这条非常重要的消息,因此它会打开一个特殊窗口。该窗口的特殊属性是,只要它存在,用户就无法访问任何其他窗口。这也意味着,用户无法关闭任何其他窗口。 现在,当用户阅读消息时,另一个应用程序有一条重要消息,因此它打开一个窗口,使用与阻止访问其他窗口相同的方法,直到它关闭为止。

用户无法关闭第二个窗口,因为第一个窗口是特殊窗口,必须先关闭。用户无法关闭第一个窗口,因为第二个窗口是特殊的,必须先关闭=>用户界面完全锁定。不良用户必须使用任务管理器杀死两个应用程序之一或重启系统。

另见Raymond Chen's more detailed discussion这一原则。