我有一个命令(ReactiveCommand
),我想在用户选择列表中的一个项目时执行此命令。如何将ReactiveCommand与IObservable绑定?
一个列表暴露了一个可观察到的IObservable<object>
所以每次有一个新的事件发送到这个可观察的我想执行我的命令。
我来了,但它看起来相当复杂。
source.ElementSelected
.Cast<Item>()
.SelectMany(ViewModel.ShowDetailsCommand.Execute)
.Subscribe();
我不知道是否有更好的方法来做到这一点?有没有类似BindCommand
的命令和控件?
https://docs.reactiveui.net/en/user-guide/commands/binding-commands.html滚动到底部“this.BindCommand( this.ViewModel, X => x.MyCommand, x => x.myControl, nameof(myControl.SomeEvent));“你在想什么? –
@ShaneNeuville这不起作用,因为我没有一个事件。 –
aw ok你有一个“事件”,但不是一个事件:-)。仔细阅读我明白你的意思。在这种情况下不确定: - /通常我会拥有你所拥有的,但使用WhenAnyObservable或类似的。 RxUI中的大多数示例也使用与将可观察元素链接到Execute中相似的语法。虽然invokeCommand也可以清理你有一点点。 https://docs.reactiveui.net/en/user-guide/commands/invoking-commands.html。否则,可能只需要制作自己的扩展方法。 –