Observable.Interval() によって作成された IObservable コレクションへのサブスクリプション内から PropertyChanged イベントを発生させようとすると、「UnauthorizedAccesExpection - Invalid cross-thread access」例外が発生します。
私の限られたスレッドの知識では、イベントがUIスレッドで発生したいときに、間隔が他のスレッドで発生していると想定していますか??? 問題の説明は非常に役立ちます。
コードは次のようになります。
var subscriber = Observable.Interval(TimeSpan.FromSeconds(1))
.Subscribe(x =>
{
Prop = x; // setting property raises a PropertyChanged event
});
解決策はありますか?
編集:
このコードは、DependencyObject ではなく ViewModel から実行されています。