使用WPF打开同一窗口的副本

时间:2013-10-02 14:58:22

标签: wpf

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

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

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

他们两个都没有达到我的期望。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

对于Show方法:

  

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

对于ShowDialog方法:

  

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

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

  

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

     

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

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