MVVMCross を使用して、IOS Droid でログイン ページを作成します。
これは私がこれまでに持っているものです
var bindingSet = this.CreateBindingSet<LoginPageView, LoginPageViewModel>();
bindingSet.Bind(this.UsernameTextField).To(x => x.UserName).TwoWay();
bindingSet.Bind(this.UsernameTextField).For(x=>x.Enabled).To(x => !x.LoggingIn);
bindingSet.Apply();
「UserName」のバインドは、UsernameTextField に正常にバインドされます。ただし、LoginCommand が起動されると (簡潔にするために除外されます)、ログイン ルーチンの進行中に UI コントロールを 'Enabled = false' に設定したくありません。
上記のコードは、実行時に x.Enabled バインディングで失敗します。
System.ArgumentException: Property expression must be of the form 'x => x.SomeProperty.SomeOtherProperty'
子プロップではなく「Enabled」プロパティに直接バインドしたいので、バインディングを間違って書いているに違いありませんが、これを行う方法がよくわかりません。
mvvmcross でいくつかのサンプルを調べ、いくつかの N+1 ビデオを調べましたが、サンプル マッチングが有効になっている、または別の子プロパティ バインディングが見つからないようです。
ありがとう