如何防止在Web浏览器中关闭XBAP Browser应用程序

时间:2014-08-27 13:36:51

标签: wpf clickonce caliburn.micro xbap

我们正在使用Caliburn.Micro框架开发一个运行在Web浏览器中的XBAP部件的WPF应用程序。

实施和部署没有问题,除了要求应用程序不应允许用户在活动窗口上修改某些数据并且用户没有按保存时立即关闭它。

在桌面应用程序中,它可以很容易地覆盖Caliburn的CanClose方法,它本身就是Window.Closing回调的一部分。执行此回调并在必要时设置CancelEventArgs.Cancel。

在XBAP应用程序中,Application.Current.MainWindow是一个RootBrowserWindow,当它的Closing和Closed事件被订阅时,即使回调是静态方法,我也不会被调用(我正在修改Caliburn。这里的微代码用于测试)。

我的问题是当用户试图关闭标签页或整个浏览器窗口时,如何防止在Internet Explorer中运行的WPF XBAP浏览器应用程序关闭?应用程序信任不是问题,因为我们可以(并且将)要求客户完全信任该应用程序。

1 个答案:

答案 0 :(得分:1)

很抱歉,据我所知,IExplorer限制。甚至不允许您检查窗口是否已最小化,甚至在XBAP应用程序中也不允许某些关键组合。无论是否信任,IE问题:(

我在大约3 - 4年前和你一样思考问题,+一些关键的装订,做了很多互操作的东西,但我无法记住。

干杯

了Stian