仅在一个实例的窗口之间切换

时间:2014-11-04 22:33:30

标签: c# wpf

我在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代码中类似,但似乎也不起作用。

我已经阅读了所有类似问题的帖子,但这些解决方案对我不起作用。

1 个答案:

答案 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();
    }