1

我正在使用 WPF 应用程序。我的第一个窗口中有两个文本框和一个按钮。基于一些数据库操作,我需要打开第一个窗口的副本(如果可能的话,像新标签一样打开),前提是两个窗口都可以同时访问。我用过

var MainWindow = new MainWindow();
MainWindow.ShowDialog();

var MainWindow = new MainWindow();
MainWindow.Show();

他们两个都不符合我的期望。谁能帮助我。

4

2 回答 2

1

当您使用ShowDialog()时,它会打开一个模式对话框,预计完成后会关闭。

如果您想打开多个窗口而不阻止表单控制,请尝试Show()改用。

var window = new MainWindow();
window.Show();
于 2013-10-02T15:11:02.427 回答
0

我建议您阅读 MSDN 上的所有相关页面,以便了解一切是如何工作的。

对于Show方法:

打开一个窗口并返回而不等待新打开的窗口关闭。

对于ShowDialog方法:

打开一个窗口并仅在新打开的窗口关闭时返回。

从Window.Show Method页面的备注部分:

当 Window 类被实例化时,它默认是不可见的。Show 显示一个窗口并立即返回,无需等待窗口关闭。因此,打开的窗口不会阻止用户与应用程序中的其他窗口进行交互。这种类型的窗口称为无模式窗口。无模式窗口的常见示例是属性窗口、工具箱和调色板。要限制用户与特定窗口交互,必须通过调用 ShowDialog 打开窗口。

调用 Show 实现与将 Window 对象的 Visibility 属性设置为 Visible 相同的最终结果。但是,从时间的角度来看,两者之间存在差异。

因此,对于您的解决方案,我建议您改用该Show方法。

于 2013-10-02T15:12:27.957 回答