zoukankan
html css js c++ java
C#通过事件跨类调用WPF主窗口中的控件
xaml.cs文件:
using System; using System.Timers; using System.Windows; using System.Windows.Forms; namespace ControlUsed { public partial class MainWindow { public MainWindow() { Monitor.PartEvent += OnStep;//将该类中的函数注册到Monitor静态类的PartEvent事件中。 } public void OnStep(Object sender,MessageArgs message) { Application.Current.Dispatcher.Invoke(new Action(() => { MyTextBlock.Text = message.Txtmessage;//设置对应xaml中控件的属性 })); } } }
MessageArgs类:
public class MessageArgs:EventArgs { public MessageArgs(string message) { this.TxtMessage = message; } public string TxtMessage { get; set; } }
Monitor静态类:
public static class Monitor { public static event EventHandler<MessageArgs> PartEvent;//定义在Monitor中的一个事件,参数是MessageArgs对象 public static void InFunction(string message) { var messageArg = new MessageArgs { TxtMessage=message }; if (PartEvent != null)//如果mainwindow构造函数中给PartEvent注册了函数就不为null { PartEvent(new object(), messageArg);//触发事件,执行所有注册过的函数 } } public static bool MonitorCenter() { InFunction("change");//在外部类中修改TextBlock的Text } }
查看全文
相关阅读:
外观模式及php实现
桥接模式与装饰者模式的区别
装饰者模式及php实现
组合模式和php实现
桥接模式和php实现
适配器模式和php实现
建造者模式以及php实现
原型模式及php实现
单例模式及php实现
抽象工厂模式和php实现
原文地址:https://www.cnblogs.com/jameslif/p/4063337.html
最新文章
ajax跨域问题
easyui树形菜单实现
C# 按部门拆分excel文件
C# 读取excel用户列表过滤一个月内未收到外部邮件已离职的员工
SQL server查找指定表的所有索引
C# 字符串中英文对齐
C# 求百分比并保留2位小数
C# DES加密解密
MySQL 中文乱码问题
visual studio 2015通过附加进程调试wcf服务
热门文章
Laravel5.5使用jwt完成token认证
Laravel5.5实现邮箱发送功能
laravel报错app_key
Laravel5.5将文件上传后的图片路径修改为public目录
走进Vue的第五天
tp5+jquery实现搜索后分页
走进Vue的第四天
走进Vue的第三天
回顾tp5页面替换的方式进行分页
走进Vue的第二天
Copyright © 2011-2022 走看看