WPF中如何实现多窗口通讯、传值?

2024-12-02 07:01:54
推荐回答(1个)
回答1:

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
//第二个窗口的引用
Window2 w2 = null;

private void button1_Click(object sender, RoutedEventArgs e)
{
//是第一次就打开新的窗口
if (w2 == null)
{
w2 = new Window2(textBox1.Text);
w2.Show();
}
else
{
//不是第一次粗搭,就直接更新 窗口2的textbox
w2.UpData(this.textBox1.Text);
}
}

}

public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();

}
public Window2(string text)
{
InitializeComponent();
/拍凳培/设置text 的值
this.textBox1_inWindow_2.Text = text;
}

public void UpData(string str)
{
//设置text 的值
this.textBox1_inWindow_2.Text = str;
}
}

总结:
就是要第二个窗口提供一个方法袭唯,这个方法用来更新它的UI.第一个窗口去调用这个方法就可以了。