当我尝试从对通过 Observable.Interval() 创建的 IObservable 集合的订阅中引发 PropertyChanged 事件时,我收到“UnauthorizedAccesExpection - 无效的跨线程访问”异常。
凭借我有限的线程知识,我假设间隔发生在其他线程上,而事件想要在 UI 线程上发生???对问题的解释将非常有用。
代码看起来有点像:
var subscriber = Observable.Interval(TimeSpan.FromSeconds(1))
.Subscribe(x =>
{
Prop = x; // setting property raises a PropertyChanged event
});
有什么解决办法吗?
编辑:
此代码是从 ViewModel 而不是 DependencyObject 执行的。