この問題の完全なソースはここにあります:https ://github.com/Cheesebaron/MvvmCross.SettingsSample
私の主な関心事は、いくつかの単純なBooleanElementsをバインドしようとするSettingsViewにあります。
this.Root = new RootElement("Settings")
{
new Section("Test", string.Format("Choose to see your own location on the map.{0}Choose to allow shake gestures.{0}Choose whether you want to receive notifications.", Environment.NewLine))
{
new BooleanElement("Show my location", ViewModel.ShowMyLocation).Bind(this, "{'Value':{'Path':'ShowMyLocation','Mode':'TwoWay'}}"),
new BooleanElement("Shake gestures", ViewModel.ShakeGestures).Bind(this, "{'Value':{'Path':'ShakeGestures','Mode':'TwoWay'}}"),
new BooleanElement("Notifications", ViewModel.Notifications).Bind(this, "{'Value':{'Path':'Notifications','Mode':'TwoWay'}}"),
},
};
私の問題は、明示的に指定したにもかかわらず、バインディングが一方向にしか機能しないように見えることですTwoWay
。双方向バインディングはWP7とAndroidで正常に機能しているように見えるので、ビューモデルは問題ないことがわかります。しかし、双方向バインディングのコードが欠落しているか、フレームワークに何かが間違っているか欠落しています。
CheckboxElement
この問題は、またはなどの他のタイプの要素を試してみた場合にも発生しStyledStringElement
ます。また、私自身が作った要素...