仅在其中一个窗口之间进行切换
问题描述:
我在WPF应用程序的窗口之间切换时遇到问题。 也就是说。 MainWindow有一个文本框,Window1有一个编辑这个文本框文本的按钮。仅在其中一个窗口之间进行切换
当我想中止版本,并关闭(this.hide)Window1那里打开一个默认文本框文本的MainWindow的新实例。如何避免这种情况?
主窗口:
Window1 window = new Window1();
Button_click
{
window.Show();
this.Hide();
}
窗口1:
MainWindow mw = new MainWindow();
Button_click
{
mw.Show();
this.Hide();
}
我也试图与:
Window1 window = null;
Button_click
{
if(window == null)
{
window = new Window1();
window.Show();
}
else
window.Visibility = Visibility.Visible;
this.Visibility = Visibility.Hidden;
}
而且在窗口1的代码相似,但它似乎没有工作过。
我读过所有类似问题的主题,但这些解决方案不适合我。
答
主窗口:
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
var window1 = new Window1(this);
window1.Show();
Hide();
}
窗口1:
private MainWindow _mainWindow;
public Window1(MainWindow refMainWindow)
{
InitializeComponent();
_mainWindow = refMainWindow;
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
_mainWindow.TextBox1.Text = "Hi From Window 1";
_mainWindow.Show();
Hide();
}
+0
可悲的是我不明白它是如何工作的(也许有一天...),但它完美的作品。这就是我的预期。谢谢:) 编辑:另一个问题,我可以做类同样的事情(而不是创建新的实例eveytime)? – wjtk4444 2014-11-05 12:03:20
*不工作*过于模糊。你发布的代码是无效的C#。 – 2014-11-04 22:37:47
不要在Window1中创建一个MainWindow的新实例。请传递参考。 – MikeG 2014-11-04 22:38:37