这里有一些上下文…我有一个System.
Windows.Window,用于显示模态消息框.我创建了一个Show()方法来初始化窗口的内容,然后调用ShowDialog().用户单击此窗口上的按钮,在Tag属性中设置有关单击按钮的一些信息,然后通过Close()关闭窗口.
正如预期的那样,一旦关闭,我尝试在Window上调用ShowDialog()时会得到一个ShowDialog异常.有没有办法重用同一个Window实例,这样我每次需要一个消息框时都不需要新建一个实例?
例如…
MessageBoxWindow mbw = new MessageBoxWindow();
result = mbw.Show("caption", "message 1");
mbw.Show("caption", "message 2");
// The above throws an exception, so I have to do this...
mbw = new MessageBoxWindow();
result = mbw.Show("caption", "message 2");
任何帮助将不胜感激!
最佳答案 使用.Hide()而不是.Close().这会删除它而不会破坏它.然后,您可以在需要时再次调用Show().
MainWindow test = new MainWindow();
test.Show();
test.Hide();
test.Show();