其他分享
首页 > 其他分享> > wpf 子窗口调用主窗口控件

wpf 子窗口调用主窗口控件

作者:互联网

本文主要是描述通过子窗口的Click,Loaded,Cloesd等来实现父窗口的一些方法事件,可以用来改变父窗口的控件状态,数值等

子窗口:

public delegate void ChangeHandler();  //首先在子窗口定义委托

注意,此委托定义在nameSpace下,不要定义在Class内,只有定义在nameSpace下的委托才会父窗口被找到

然后在子窗口下定义委托事件:
public event ChangeHandler ChangeEvent;//此事件定义在Class内
定义一个方法执行委托事件:

private void ChageEvent()
 {
if (ChageEvent!= null)ChageEvent(); } 

然后在一个触发事件中调用这个方法(按钮事件,loaded事件等)

private void Window_Closed(object sender, EventArgs e)
  {ChageEvent(); }; 

然后在父窗口中:
在构造函数中,实例化子窗口:

SonWindow  sonWindow = new SonWindow();
sonWindow.ChangeEvent += new ChangeHandler(FunA); //把你需要的方法添加到委托事件中

void FunA()
  {
       
//写你想调用的方法,如重新绑定数据源啊 改变某标签的值啊 等等
   
 }

思路就是定义一个委托,在子窗口中实例化这个委托事件,用子窗口你需要的触发方式去调用这个委托事件;
在父窗口中,提前将这个委托事件绑定好对应的方法即可

本文写的是无参的委托,需要有参的可以参考一下稍微改一下就行。

标签:控件,窗口,定义,委托,void,ChageEvent,事件,wpf
来源: https://www.cnblogs.com/guangzhiruijie/p/16475551.html