繁体   English   中英

WinUI3中如何关闭Window?

[英]How to close Window in WinUI3?

我有一个由两部分组成的应用程序。 第一部分是登录表单,用户需要在其中输入登录名和密码。 如果它们是正确的,它会启动用户可以工作的“编辑器”window。

现在为了启动第二个 window 我使用:

var editorWindow = new EditorWindow();
editorWindow.Activate();

问题是Login window还在,虽然不严重,但我还是想在Login完成后关闭它。

我第一次尝试在第一个 Window 的.cs 文件中打开第二个 window 后添加 Window.Close(),所以

var editorWindow= new EditorWindow();
editorWindow.Activate();

var oldWindow = new MainWindow();
oldWindow.Close();

这导致Attempted to read or write protected memory 我试图在第二个 Window.cs 文件中这样做:

this.InitializeComponent();

var oldWindow = new MainWindow();
oldWindow.Close();

这导致了同样的错误

那么我怎样才能正确地做到这一点?

如果您在第一个 window 的代码隐藏中打开第二个 window,您应该能够在新的 window 上调用Activate()之后立即调用this.Close()

var editorWindow= new EditorWindow();
editorWindow.Activate();

this.Close();

如果从其他地方打开EditorWindow ,则需要获取对第一个 window 的引用才能关闭它。 例如,您可以按照此处的建议在App class 中使用变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM