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 } }
查看全文
相关阅读:
Linux常用命令
Linux静态函数库与动态函数库
解决MySQL5.7的表无法插入中文的问题
MySQL与postgreSQL在left join查询时的区别
《刻意练习》读书笔记
在Golang中实现与Python装饰器类似功能的方法
项目中使用进程内缓存的一些经验及注意事项
Golang中使用recover捕获panic的操作及遇到的一个坑
Python与Golang中给列表中字典按照某个key排序的实现
浅谈Python与Golang中的“延迟绑定机制”
原文地址:https://www.cnblogs.com/jameslif/p/4063337.html
最新文章
清理redis的key
aws定时清理mysql session
sql笔记
elasticsearch数据查询
ubuntu下ssh超时时间配置
报错django.db.utils.InternalError: (1366, "Incorrect string value: '\xxx\xxx\xxx\xxx\xxx\xxx' for column 'name' at row 1")
ubuntu修改时间
mysql在已存在表中添加、修改、删除字段
Windows Server2012 r2 nginx反向代理图片服务器
RabbitMQ本机访问,修改端口问题
热门文章
TypeError: 'dict_keys' object is not subscriptable
如何安装中文分词工具
Natural Language Processing with Python
DB2(WZQZ)故障分析报告
DB2补丁包的安装步骤
java开发微信APP支付
将博客搬至CSDN
Django时间Field与datetime与time解读
docker部署Ik热分词插件
pipdeptree使用
Copyright © 2011-2022 走看看