Tag: reactiveui

Rx如何将命令与另一个observable组合

我有一些反应命令以及一些观察者持有一些信息,我正在尝试做类似的事情: _navigate = ReactiveCommand.Create(CanNavigate); _navigate.CombineLatest(navigationTarget, (_, tgt) => tgt) .Subscribe(tgt => Navigation.NavigateTo(tgt)); 我尝试了几种不同的方法: SelectMany Zip 我要么最终得到: 订阅在第一次停止后调用(如果我使用Zip) 即使命令在执行一次后仍未执行,订阅也会调用 基本上我想要: 一个observable,每当(并且仅 )执行命令时触发,同时拉入第二个observable的最新值。 不能完全理解如何最好地实现这一目标……

ReactiveUI,View / ViewModel注入和DI一般

最近我试图让自己进入UI开发的新时代并发现了ReactiveUI。 我喜欢它的陈述性。 我想做一个完整的切换,所以我试着理解在ReactiveUI的这个新世界中是如何做出的。 我选择了ReactiveUI,因为我看到这是由一个非常聪明的人(Paul C. Betts)维护的。 我对它很陌生,我可能会对StackOverflow充满疑问,因为我拥有巨大的力量,我认为它值得学习和掌握 。 让我们进入细节: 我一直使用View-First。 我是Cinch Framework的资深用户( http://cinch.codeplex.com/ ) 它使用MEF将ViewModel注入每个View。 您只需使用[ViewModel(“SampleView”)]装饰ViewModel并向View添加一个附加属性(ViewModelLocator.ViewModel =“SampleView”),每当View加载时,相应的ViewModel将被实例化并注入其中DataContext与您选择的生命周期。 这种机制虽然有效,但也有一些不便之处。 最糟糕的是:它使用了一个定位器。 正如Mark Seemann在他的书中所说,ServiceLocator是一种应该避免的反模式。 所以我的第一个问题是:ReactiveUI是建立在基于Locator的基础架构之上吗? View-First还是ViewModel-First? 在良好实践,解耦,SOLID以及像我这样的疯狂,亲微软清洁代码爱好者关注的问题方面,哪些更好? 哪个会让我睡得更好,并为我的应用程序提供所有那些可靠性的好处?