我正在使用WPF应用程序。我的第一个窗口中有两个文本框和一个按钮。基于一些数据库操作,我需要打开第一个窗口的副本(如果可能的话,像新选项卡一样打开)窗口可以同时访问。我用过
var MainWindow = new MainWindow();
MainWindow.ShowDialog();
和
var MainWindow = new MainWindow();
MainWindow.Show();
他们两个都没有达到我的期望。任何人都可以帮助我。
答案 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
方法。