ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

wpf 子窗口调用主窗口控件

2022-07-13 21:05:49  阅读:174  来源: 互联网

标签:控件 窗口 定义 委托 void ChageEvent 事件 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有