ie1*_*ie1 3 .net c# wpf system.reactive
我有2个线程,WPF + PIPE.我在管道rx事件上注册了WPF.当使用ObserveOnDispatcher()时,不会调用已注册的处理程序,当删除ObserveOnDispatcher()时,它会在管道线程上调用.有没有人有想法为什么在使用ObserveOnDispatcher()时根本没有调用它?
ObservableOnDispatcher在调用时获取当前线程的调度程序.如果从后台线程调用它,它将在该线程上查找调度程序(如果有的话).
如果要回调到UI线程,你需要得到IScheduler从Scheduler.Dispatcher 而在UI线程(比如在应用程序的开始)和实例传递给你的后台线程.然后,您可以使用它ObserveOn(dispatcherSchedulerInstance)来安排回UI线程.