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 } }
查看全文
相关阅读:
swagger api 转graphql npm 包试用
hasura graphql auth-webhook api 说明
hasura graphql 角色访问控制
hasura graphql schema 导出
hasura graphql 模式拼接demo
hasura graphql 模式拼接概念
hasura graphql pg 自定义函数的使用
gqlgen golang graphql server 基本试用
nodejs json-t 基本测试
json-patch 了解
原文地址:https://www.cnblogs.com/jameslif/p/4063337.html
最新文章
解决delphi10.2.3 android tools闪退
线程安全队列
仪器字典
百度网站收录教程(个人版)
GO -- Redis知识大全
Git -- git中本地与远程库的关联与取消
CentOS 6.7 配置 yum 安装 Nginx
VUE -- Vue.js每天必学之计算属性computed与$watch
VUE ---(9)组件——props数据传递
VUE -- vue.js中$watch的用法示例
热门文章
Vuejs 用$emit 与 $on 来进行兄弟组件之间的数据传输
Cannot find name 'AsyncIterator' error in Typescript compilation process 问题解决
基于typescript 强大的 nestjs 框架试用
hasura graphql server (haskell)构建
hasura graphql subscriptions 使用
cypress 端到端测试框架试用
flow flow-typed 定义简单demo
flow 编写flow-typed 定义(官方文档)
flow 类型生成工具 flow-typed 简单使用
fackbook flow 简单使用
Copyright © 2011-2022 走看看