zoukankan      html  css  js  c++  java
  • WPF线程调用UI元素

    WPF开发中MVVM模式下,通过线程调用UI元素会报错,提示“调用线程必须为 STA,因为许多 UI 组件都需要。”。

    解决方法有两个:

    一、

    public delegate void DeleFunc();
    public void Func()
    {
         //要调用的UI元素    
    }
    System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new DeleFunc(Func));

    二、

    Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc));
    NetServer .SetApartmentState(ApartmentState.STA);
    NetServer .IsBackground = true;
    NetServer.Start();
    System.Windows.Threading.Dispatcher.Run();

    但是,如果是全屏界面,通过第二种方法调用出子窗体时Windows系统的任务栏也会显示,推荐使用第一种。

  • 相关阅读:
    MLE
    AHOI/HNOI2018道路
    AHOI/HNOI2018排列
    推式子
    AHOI/HNOI2018游戏
    ! BJOI2018治疗之雨
    BJOI2018链上二次求和
    BJOI2018双人猜数游戏
    ! BJOI2018染色
    BJOI2018二进制
  • 原文地址:https://www.cnblogs.com/lskFighting/p/12925169.html
Copyright © 2011-2022 走看看