我目前正在评估本机 Xamarin Android 和 iOS 包的社区工具包 MVVM 包。我知道用于与 MVVMLight 配合使用的代码,但似乎没有办法将 VM 绑定到 Android 和 iOS 上的 UI。
我确实考虑过让 Android Activity 继承 ObservableObject,但这似乎不是一个好的方法。
有没有办法将 VM 绑定到 Android 和 iOS 源代码,并让 UI 在 VM 中的属性引发 PropertyChanged 事件时做出反应?
有没有办法将VM同时绑定到Android和iOS源代码 并让 UI 在 PropertyChanged 事件抛出时做出反应 虚拟机中的属性?
您不需要将虚拟机与Android和iOS源代码绑定。您可以将虚拟机绑定到 Android 和 iOS 平台的共享代码。
从文档:什么是Xamarin.Forms?,我们可以知道:
Xamarin.Forms 适合具有以下目标的开发人员:
- 跨平台共享 UI 布局和设计。
- 跨平台共享代码、测试和业务逻辑。
- 使用 Visual Studio 用 C# 编写跨平台应用程序。
如果您希望属性在 Model 类或 viewmodel 类的属性值发生更改时做出反应,您可以为您的项目实现接口
INotifyPropertyChanged
并为属性调用 OnPropertyChanged
。
有关这方面的更多信息,您可以查看文档:Xamarin.Forms 命令接口。