为了账号安全,请及时绑定邮箱和手机立即绑定

禁止在WPF代码中使用Dispatcher.Invoke

禁止在WPF代码中使用Dispatcher.Invoke

C#
慕无忌1623718 2019-11-20 12:49:31
我天生就是一个网络和后端程序员。通常我会尝试使Windows程序无效。现在,我必须成为WPF客户。我有一个后台任务,每一次都会引发一个事件。(它像轮询程序一样工作,并且当满足条件时会引发事件)。作为我的菜鸟,我编写了此事件附带的代码以更新UI。    private void IsDisconnectedEvent()    {            UserWindow.Visibility = Visibility.Hidden;            DisconnectWindow.Visibility = Visibility.Visible;    }这给出了一个例外,因为我不在同一线程上。经过一番谷歌搜索后,我发现我应该使用以下代码:    private void IsDisconnectedEvent()    {        Dispatcher.Invoke(() =>                          {                              UserWindow.Visibility = Visibility.Hidden;                              DisconnectWindow.Visibility = Visibility.Visible;                          });    }这行得通,但这不是唯一的事件,因此使我的代码很难看。有更好的方法可以做到这一点吗?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 892 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信