所有,我有一个在VB.Net 2010和WPF 4中构建的项目。我可以选择返回登录屏幕,但此选项只能从单独的(退出确认)窗口访问。当退出确认窗口后面打开大约一百个窗口之一时,可以调用此函数。
我想要做的是关闭退出确认窗口,打开另一个窗口,但打开登录窗口。我知道使用“Me.Close()”关闭退出确认窗口,我知道如何打开登录窗口,但我不知道如何关闭另一个打开的窗口。
帮助?
答案 0 :(得分:1)
难道你不能给quit-confirmation-window的构造函数一个对它应该关闭的窗口的引用吗?
编辑:两个如何做的例子:
通常,您希望在窗口关闭时打开确认对话框,因此您可以在Closing事件处理程序中创建它,如下所示:
private void Window_Closing(object sender, CancelEventArgs e)
{
ConfirmationDialog diag = new ConfirmationDialog();
diag.ShowDialog();
switch (diag.Result)
{
...
}
}
在这里,您的窗口等待确认对话框返回(diag.Show
不会等待),如果是这种情况,您不需要有关对话框中窗口的任何信息。 (Result
是一个自定义属性,如果DialogResult
bool没有足够的区别,您可以在对话框中定义
如果您的对话框在任何时候打开而您无法等待它返回,您可以使用参考创建它:
private void OpenConfirmDialog()
{
ConfirmationDialog diag = new ConfirmationDialog(this);
diag.Show()
}
并在对话代码中:
public ConfirmationDialog(Window owner)
{
Owner = owner;
}
public void OpenWelcomeScreenThing()
{
this.Close();
Owner.Close();
new WelcomeScreen().Show();
}
或类似的东西。或者你也可以处理事件。