如何从ViewModel到View获取集合?

时间:2018-02-12 14:52:20

标签: c# mvvm xamarin.forms

我有一个ObservableCollection个对象存储在ViewModel中,而且每个对象都要BoxView添加到我的View。我计划在XAML代码中构建BoxViews,以使其与业务逻辑分开。我的问题是我无法找出ViewModelView访问该集合的正确方法。有没有办法将View中的集合变量绑定到ViewModel中的集合变量,或者有人知道更好的方法来实现这样的东西?

3 个答案:

答案 0 :(得分:1)

您应该使用ListView控件执行此操作,并使用ItemsSource语法将视图模型集合绑定到ListView的{​​{1}}属性。您可以在documentation中找到相关示例。

不要忘记将{Binding}设置为BindingContext班级的实例。

要定义每个项目的显示方式,您需要声明ViewModel。根据您的要求提供的简单示例如下:

ItemTemplate

要访问列表项的各个属性,您可以在<ListView x:Name="MyList" ItemsSource="{Binding Data}"> <ListView.ItemTemplate> <DataTemplate> <BoxView /> </DataTemplate> </ListView.ItemTemplate> </ListView> 中使用{Binding}。例如,要绑定DataTemplate属性,您可以执行以下操作:

Name

答案 1 :(得分:1)

$count = Comment::where(['response_id' => $id])->count();

        if (($responses->where('id',$id)->value('guests_email') == Cookie::get('email') && ($count==0)) || (Auth::check()))

答案 2 :(得分:0)

如果您想使用mvvm访问代码中的数据,您可以执行以下操作:

fmatch

这对我有用。如果您需要更多详细信息,请提供更多详细信息和代码。