2017-03-10 1 views
2

Ich habe zwei Befehle in ReactiveUI zusammengestellt: CheckNetwork und CheckVersion. Jedes Mal, wenn CheckNetwork ausgeführt wird (und es zu den richtigen Zeiten ausgeführt wird), möchte ich CheckVersion ausführen - aber nur, wenn CheckNetwork "true" zurückgegeben hat.Wie führe ich einen Befehl abhängig vom Ergebnis eines anderen aus?

ReactiveCommand<Unit, bool> CheckNetwork { get; } 
ReactiveCommand<Unit, Unit> CheckVersion { get; } 

CheckVersion = ReactiveCommand.CreateFromTask(CheckVersionImpl); 
CheckNetwork = ReactiveCommand.CreateFromTask(CheckNetworkImpl); 

Ich habe ein paar Dinge ausprobiert, so wird durch sie nicht gehen alle können einfach nichts funktioniert ...

Antwort

3

Dies tun sollte zu bekommen scheinen, was Sie

CheckNetwork 
.Where(result => result) 
.Select(_=> Unit.Default) 
.InvokeCommand(CheckVersion); 
wollen
+1

Direkt an, Shane, danke! Die Auswahl der leeren Einheit ist das "ah!" Moment für mich ... :-) – DennisWelu

Verwandte Themen