2

次のように、ビューモデルにいくつかのコードがあります。

miService.GetSomething(par1, par2)
.ObserveOnDispatcher()
.Subscribe(dt =>
 {
    DoSomething(dt);
 });

次に、私のテストでは、次のようにサービスを「モック」しています。

miService.Setup(ms => ms.GetSomething(....))
.Returns(Observable.Return(XYZ));

問題は、ObserveOnDispatcher が原因で、サブスクライブ デリゲートが実行されないことです。

DispatcherFrame と PushFrame を使用したコードを見たことがありますが、問題は「どこで」わからないことです。呼び出すことができます

frame.Continue = false;
4

1 に答える 1

5

あなたは試すことができます

var frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(
  DispatcherPriority.Background, 
  new Action(() => frame.Continue = false));
Dispatcher.PushFrame(frame);
于 2010-02-02T15:35:52.693 に答える