我目前遇到ReactiveCommand谓词问题(在WPF应用程序中使用ReactiveUI 6.2)。我有一个名为LoggedIn的属性,由ObservableAsPropertyHelper支持,它的定义如下:
someObservableThatReturnsBoolean
.ToProperty(this, x => x.LoggedIn, out _loggedIn)
然后我有一个ReactiveCommand,它使用该属性作为谓词:
var command = ReactiveCommand.Create(this.WhenAnyValue(x => x.LoggedIn))
但是,当LoggedIn变为false时,仍可执行该命令。如果我将LoggedIn更改为常规属性:
someObservableThatReturnsBoolean
.Subscribe(b => LoggedIn = b)
然后命令按预期运行。