我使用ReactiveCommand并将其绑定到一个按钮,并让该按钮在执行命令时自动禁用,它工作得很好。在ReactiveUI绑定,如何禁用2个按钮2 ReactiveCommand
现在我有2个ReactiveCommand和2个按钮,我希望在执行任何命令时禁用2个按钮。我试过的是:
public class MyClass
{
public MyClass()
{
ReadClFilesCommand = ReactiveCommand.Create(ReadClFiles, c.IsExecuting.Select(exe => !exe));
WriteClFilesCommand = ReactiveCommand.Create(WriteClFiles, ReadClFilesCommand.IsExecuting.Select(exe => !exe));
}
}
它看起来非常光明,我喜欢它的干净。但是当我尝试运行代码时,我得到NullReferenceException
为WriteClFilesCommand
,因为它尚未创建。
我想我需要先创建命令,然后再设置它的CanExecute,但CanExecute
是只读的。
也许我可以创建一个单独的IObserable,让ReadClFilesCommand.CanExecute
和WriteClFilesCommand.CanExecute
,这有可能吗?
还有其他方法可以做到吗?
谢谢。
我用你的第二个解决方案中使用受“玩”所有的活动和它的作品,甚至自动关闭3个按键,:-) – Felix