CWPF跨线程访问控件

科技玩点原始事 2024-02-20 21:16:02
在C#的WPF开发中,跨线程访问控件是要报错的,这是基于线程安全考虑的。担有的时候我们需要实现这个功能,如何做呢?请参考如下代码: …… //定义事件 public delegate void MediaStop(object sender, EventArgs e); public event MediaStop OnMediaStop; …… private Button PlayRestore = new Button(); …… //监听事件 formLEDScreen_vlc.OnMediaStop += FormLEDScreen_vlc_OnMediaStop; private void FormLEDScreen_vlc_OnMediaStop(object sender, EventArgs e) { if (formLEDScreen_vlc.isMediaStop) { //调用函数处理按键提示修改 SetButtnonContent(PlayRestore,"播出"); } } private void SetButtnonContent(Button btn, string str) { if (!Dispatcher.CheckAccess())//判断是否是被其他线程调用 { Dispatcher.Invoke(() => SetButtnonContent(btn, str)); return; } btn.Content = str; }
0 阅读:1

科技玩点原始事

简介:感谢大家的关注