1

可以在此处找到此问题的完整来源:https ://github.com/Cheesebaron/MvvmCross.SettingsSample

我主要关心的是 SettingsView,我尝试绑定一些简单的 BooleanElements:

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如果我尝试使用其他类型的元素,例如or ,也会出现此问题StyledStringElement。还有我自己制作的元素...

4

1 回答 1

1

根据上面的评论,感觉这是几个单独的问题:

感谢您报告这些问题 - 并跟进测试用例。我将看看我是否可以解决如何在 mvx 存储库中包含一些更正式的测试用例。


作为未来的工作项目,我也很想形式化ValueValueChanged关系 - 我认为可以提供一个通用规则,以便所有具有 Value 和 ValueChanged 的​​元素都支持数据绑定 - 作为问题添加https://github.com/slodge /MvvmCross/issues/26

于 2012-09-03T21:48:54.230 回答