在我目前的情况下,我有一个列表可以在我的应用中显示。此列表应基于两件事。描述和颜色,它基于每个元素的当前状态。挑战在于描述和颜色在每个自己的表中设置。有没有办法将itemsource / bindingcontext设置为两个不同的对象/表?或者有不同的方法来解决这个问题?
这是我的XAML文件绑定到可以访问描述的表:
<StackLayout>
<ListView x:Name="postListView" ItemSelected="Handle_ItemSelected" >
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Description}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
在我的代码中,postListview设置为其中一个表:
PostListView.itemSource = _chekc;
我无法设置两个不同的项目源,因此无法绑定到我的其他表_answer中的颜色。
对此有何解决方法?
答案 0 :(得分:3)
这是一个常见问题:您必须显示一个列表,该列表是来自多个表的数据组合。您无法将ItemsSource设置为多个源的事实不是ListView中必须解决的错误......这是您设计中的一个限制...您需要构建一个正确处理此问题的视图模型情况。
所以这样做的一种方法是让PostRowView类与两个表中的颜色和描述配对,以及管理PostRowViews的ObservableCollection。将ListView的ItemsSource绑定到observable集合。