私は、バインディングとリアクションUIがどのように連携するかについて何か不足していると思います。リアクションUIと双方向バインディング
例を示します。私は私のビューモデルで観察可能なプロパティに双方向にバインドされているToggleSwitchを持っている:スイッチがオフから切り替えます
<ToggleSwitch IsOn="{Binding IsPowered, Mode=TwoWay}"/>
- >私は、コードの一部を実行したいので、私は、次の操作を行います。
this.WhenAnyValue(x => x.IsPowered).Subscribe(isPowered =>
{
await MyService.UpdatePowerStatusAsync(isPowered);
});
ボタンをトグルするとうまくいきます。しかし、バックグラウンドスレッドでリフレッシュを実行し、IsPoweredがtrue(以前はfalse)だったという通知をサーバーから取得するとします。私は私が設定して右の状態になるようにUIにToggleSwitchを通知したい:
IsPowered = true;
しかし、それは、私はしたくない新しい価値を持つ私のサービスを呼び出すWhenAnyValueをトリガーするためそれはすでにサービスで本当です。
WhenAnyValueがユーザーの入力によってのみ呼び出されるようにするにはどうしてですか?更新中や何かの間に購読を解除するように?
myReaderから、MyService.UpdatePowerStatusAsync()が既に設定されているかどうかを確認する必要があります – kenny