首页 > 解决方案 > 如何将多个视图模型绑定到单个视图

问题描述

我在一个内容页面上有两个列表视图,因此我希望每个列表视图都有自己的视图模型作为 itemoruce。

标签: mvvmxamarin.forms

解决方案


只需为您的 ListView 设置 BindingContext。

在 Xaml 中:

<ListView x:Name="list1">
</ListView>

<ListView x:Name="list2">
</ListView>

在后面的代码中绑定它:

list1.BindingContext = ViewModel1;
list2.BindingContext = ViewModel2;

如果您希望在后面的代码中绑定它,您也可以在 XAML 中使用 BindingContext-Property:

<ListView ItemSource="{Binding itemList1}" BindingContext="{Binding ViewModel1}" />

<ListView ItemSource="{Binding itemList2}" BindingContext="{Binding ViewModel2}" />

但请记住,您需要一个“全局”绑定模型(或 MasterViewModel),它将嵌套的视图模型保留为子属性。


推荐阅读