wpf不在主线程的话放到主线程执行

复制代码
 /// <summary>
        /// 刷新页面状态
        /// </summary>
        /// <param name="overViewState"></param>
        /// <param name="strValue"></param>
        private void BindStates(OverViewState overViewState, string strValue)
        {
            if (!Dispatcher.CheckAccess()) // 不在主线程的话放到主线程
            {
                this.Dispatcher.Invoke(new Action(delegate { BindStates(overViewState, strValue); }));
                return;
            }
            switch (overViewState)
            {
                case OverViewState.ReactTemp:
                    this.txtTempReact.Text = strValue + "";
                    break;
                case OverViewState.ReagentTemp:
                    this.txtTempReagent.Text = strValue + "";
                    break;
                case OverViewState.TubeCount:
                    txtTubeLeft.Text = strValue;
                    txtTubeLeft.Foreground = (strValue == "充足") ? Brushes.Green : Brushes.Red;
                    break;
                case OverViewState.WashState:
                    txtWashLeft.Text = strValue;
                    txtWashLeft.Foreground = (strValue == "充足") ? Brushes.Green : Brushes.Red;
                    break;
                case OverViewState.WastTubeState:
                    txtWashLeft.Text = strValue;
                    txtWashLeft.Foreground = (strValue == "正常") ? Brushes.Green : Brushes.Red;
                    break;
                default:
                    break;
            }
        }
复制代码

 

posted @   lingmin210  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示