选择器更改时的Xamarin MVVM更新模型

时间:2018-05-18 14:23:35

标签: mvvm xamarin.forms picker

以下示例使用MVVM方法根据选择器选择更新属性:

https://github.com/xamarin/xamarin-forms-samples/blob/master/UserInterface/BindablePicker/BindablePicker/BindablePicker/SimpleColorPickerPageViewModel.cs

它使用OnPropertyChanged(“SelectedColor”);当选择更改为更新另一个属性时。

我有两个问题:

首先,使用这种方法比xaml.cs中的正常OnSelectedIndexChanged事件有什么优势吗?

其次,如果我想在我的viewmodel中更新自定义对象的特定项目,我将如何使用此方法。例如,如果在上面的示例中更改了所选项,请将值存储在视图模型中的另一个对象中?

OnSelectedIndexChanged方法看起来似乎已经很长时间了,但猜测我有什么优势不知道?

基本上我在页面上有很多下拉列表,每次更改时,我都希望更新视图模型中的对象,该对象将通过休息服务发送回服务器。

1 个答案:

答案 0 :(得分:1)

Picker.SelectedIndexChanged并不像以前那样直截了当,因为你仍然需要索引列表并找到哪个项目,因为它不是命令,你需要在Code Behind中实现它。

你刚才说你需要发送其余的http请求,这意味着你的应用程序相当复杂,所以你可能需要ViewModels并保持你的代码连贯,你应该对所有页面应用相同的模式。

为了保持整洁,我总是实现MVVM,即使Page逻辑不是很广泛。

MVVM还有助于(大量)单元测试您的应用程序。

但最终,这完全取决于品味。