我在WPF应用中切换窗口时遇到问题。 IE浏览器。 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;
}
在Window1代码中类似,但似乎也不起作用。
我已经阅读了所有类似问题的帖子,但这些解决方案对我不起作用。
答案 0 :(得分: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();
}