代码之家  ›  专栏  ›  技术社区  ›  the_tr00per

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

  •  0
  • the_tr00per  · 技术社区  · 8 年前

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

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

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

    我有两个问题:

    首先,在xaml.cs中,使用此方法是否比使用普通OnSelectedIndexChanged事件有任何优势?

    其次,如果我想在我的视图模型中为我的自定义对象更新一个特定的项,我将如何使用这种方法。例如,如果上述示例中所选的项发生了更改,是否将值存储在视图模型中的另一个对象中?

    这似乎很长一段时间都在使用新选择的dexchanged方法,但是猜测我不知道有什么好处吗?

    basicaly我在一个页面上有许多下拉列表,每次更改,我都希望更新视图模型中的对象,该对象将使用REST服务发送回服务器。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Greggz    8 年前

    Picker.SelectedIndexChanged 不是那么严格,因为您仍然需要索引列表并找到哪个项,而且因为它不是命令,所以您需要在代码隐藏中实现它。

    你刚才说你需要发送RESTHTTP请求,这意味着你的应用程序相当复杂,所以你可能需要 ViewModels 为了保持代码的一致性,应该对所有页面应用相同的模式。

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

    MVVM还可以促进(很多)单元测试应用程序。

    但归根结底,一切都是关于味道的。