从其他窗口检测主窗口中的更改/事件

时间:2019-07-16 12:30:27

标签: c# wpf

  • 我有一个带有按钮和DataGrid的主窗口。
  • 完成SQL连接后,DataGrid中将充满数据。
  • 要建立SQL连接,请单击启动新窗口的按钮,在其中可以输入参数以在所需的服务器和数据库上建立连接。
  • 当我单击此窗口的连接按钮时,如果成功,则窗口将关闭,并且主窗口DataGrid中将填充相应的数据。

我的问题:我找不到让Main Window知道连接已完成并且必须启动我的方法来显示数据的方法。

SQL连接和DataGrid填充工作正常。打开主窗口时,我无法调用我的方法(因为连接尚未完成),并且无法先打开连接窗口,因为如果以后要更改数据库,我将再次单击连接按钮以建立连接一个新的连接,我希望我的主窗口捕获更改并显示新数据。

我从昨天开始就在研究它,但我还没有找到一种可行的方法(或者我实际上可以理解的一种方法^^)来完成这项工作。

我对WPF还是很陌生,所以也许有一个我不知道的功能可以实现?

谢谢!

1 个答案:

答案 0 :(得分:1)

例如,您可以在Closed中处理连接窗口的MainWindow事件:

ConnectionWindow win = new ConnectionWindow();
EventHandler eventHandler = null;
eventHandler = (ss, ee) =>
{
    win.Closed -= eventHandler;
    //here the connection window is closed...
};
win.Closed += eventHandler;
win.Show();

此事件在关闭窗口时引发,然后您可以在事件处理程序中执行任何操作。