runxinzhi.com
首页
百度搜索
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 } }
相关阅读:
指向老域名的反链丢失问题
oracle express介绍
VB6:通过ADO访问Oracle存储过程返回的结果集
Oracle学习笔记:理解oracle的编程接口oo4o的对象模型
Oracle学习笔记:oracle的编程接口
VB6:编写一个分析sqlserver存储过程执行语句"execute procedurename par1,par2,......."语法是否正确的函数
惊喜!使用Regcure修复注册表错误,Oracle客户端可以使用了
最新30佳精美的名片设计作品欣赏
28个经过重新设计的著名博客案例
向设计师推荐20款漂亮的免费英文字体
原文地址:https://www.cnblogs.com/jameslif/p/4063337.html
最新文章
powershell
SharePoint中的页面
About sharepoint
C# compiler
About Services
server farm
C# compiler 指定输出文件位置
MVP
about namespace
C# Preprocessor Directives
热门文章
survey
VS vs C#
菜式介绍:风味黄泥烤鸡
数据库味道
使用Oracle RMAN脚本
至誠而不動者
AIX操作系统启动详细介绍
RMAN 内存利用介绍: PGA 以及SGA
autotrace在绑定变量情况下不准确的问题
部分行索引使用介绍
Copyright © 2020-2023
润新知