3

我正在尝试在我的 ViewModel 之间实现消息传递我的概念验证代码如下:

RxApp.MessageBus.Listen<int>("test")
    .Subscribe(i => MessageBox.Show(i.ToString()));    

RxApp.MessageBus.SendMessage<int>(42, "test");

我的单元测试运行成功,所以我认为这可能是调度问题。我手动设置调度程序:RxApp.DeferredScheduler = DispatcherScheduler.Instance;

但无论如何它被设置为正确的实例,所以正如预期的那样,没有变化。我可以注册消息。我只是从未收到任何消息:/ 使用空消息合约也不会改变任何东西。

我在模拟器和设备上都试过了(Mango SDK Refresh / Mango Build 7712)

我希望这里有人可以帮助我:) 非常感谢任何提示。

4

2 回答 2

3

我怀疑这是一个 MessageBus 错误 - 无论如何,谁写了这个废话?

** 我会调查的 :)

于 2011-08-11T05:57:31.587 回答
-1

我的错误,因为假设这与调度程序有关:)

问题是,在 WP7/SL 上用作 Dictionary 键的 Tuple 类没有实现有用的Equals()覆盖。

查找已注册的主题时,字典从未返回任何匹配项。

GetHashCode()也应该用自定义实现替换。

于 2011-08-23T14:10:54.820 回答