1

私はいくつかの簡単なコードを持っています:

var timer =  Observable.Timer(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(1)).Timestamp();

 //timer.Subscribe(x => timerTb.Text = x.Value.ToString());
 timer.Subscribe(x => Debug.WriteLine(x.Value));

そして、timerTb と呼ばれるビューのテキストボックス。マーシャリングの問題について叫ぶことなく、コメントアウトされた行を機能させようとしています。

私が使用する必要があることを知ることができますがtimer.ObserveOnDispatcher().Subscribe(... 、私はこのメソッドにアクセスできません。また、「System.Reactive.Linq;」を参照する CoreDispatcherScheduler dispite にもアクセスできません。

RX 2.0.20304.0 を実行しています

何か案は?

4

2 に答える 2

2

私はそれを機能させることができました。

ばかげた新人の間違い CoreDispatcherScheduler は System.Reactive.Windows.Threading にありました

ObserveOnDispatcher() を取得したことを参照すると、これが機能しました。

var timer = Observable.Timer(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(1)).Timestamp();

timer.ObserveOnDispatcher().Subscribe(x => timerTb.Text = x.Value.ToString());
于 2012-10-28T19:22:20.890 に答える
1

タイマーを UI スレッドに置きます。

Observable.Timer(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(1), CoreDispatcherScheduler.Instance)
    .Timestamp();
于 2012-10-28T18:51:45.087 に答える