首先是一个小背景故事:我现在正在学习 Xamarin 一个月,我即将开始我的第一个项目。
我需要有4 个嵌套的“代”关系数据库,我必须将其包含在一个视图中。
当我开始嵌套东西时,我不得不将一些命令(ViewModel 代码)移动到模型中。
我想不惜一切代价避免这种情况,因此出现了问题:
使用其他 ViewModel 作为可绑定属性是否对 MVVM 友好,如下例所示?
视图模型:
public class MainViewModel : FreshBasePageModel
{
public ObservableCollection<OtherViewModel> OtherCollection { get; set; }
}
public class OtherViewModel: FreshBasePageModel
{
public Command SomeCommand { get; set; }
}
并在视图中像这样使用它:
<ContentPage>
<ListView ItemsSource={Binding OtherCollection} SelectedItem={Binding SomeCommand}>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
这种方法对我来说似乎没问题,但这是我的第一个 MVVM 项目,我想知道这是否是你做事的方式。
我使用FreshMvvm作为支持框架,它使用约定进行绑定,因此视图会自动绑定到其同名伙伴。
谢谢你的时间,