我有一个 WPF 应用程序,需要在 5 分钟不活动后注销用户。
但是如果用户打开任意页面的打印对话框,并且5分钟内没有触摸屏幕,
即使我注销用户并清除所有子元素,打印对话框仍然保留在 WPF 表单顶部,并且有人可以来继续打印用户停留的页面。
我尝试使用;
Window window = Application.Current.MainWindow;
or
FocusManager.GetFocusedElement();
但无法实现访问 PrintDialog 并关闭它。
如果用户没有响应打印对话框,有什么方法可以访问它并关闭它吗?
我通过使用解决了这个奇怪的问题
白色项目。
通过使用应用程序类,我能够访问 WPF 项目中的所有 ModalDialog,并关闭它们。
Application application = White.Core.Application.Attach(Process.GetCurrentProcess().Id);
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
White.Core.UIItems.WindowItems.Window window = application.GetWindow("MainWindow");
List<White.Core.UIItems.WindowItems.Window> modalWindows = window.ModalWindows();
foreach (White.Core.UIItems.WindowItems.Window modalWindow in modalWindows)
{
modalWindow.Close();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)