在我目前的情况下,我有一个列表要显示在我的应用程序中。这个列表应该基于两件事。描述,以及基于每个元素当前状态的颜色。挑战在于描述和颜色在各自的表格中设置。有没有办法将我的 itemsource/bindingcontext 设置为两个不同的对象/表?还是有不同的方法来解决这个问题?
这是我的 XAML 文件绑定(bind)到可访问描述的表:
<StackLayout>
<ListView x:Name="postListView" ItemSelected="Handle_ItemSelected" >
<ListView.ItemTemplate>
<DataTemplate>
<TextCell Text="{Binding Description}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
在我的代码中,postListview 被设置为其中一个表:
PostListView.itemSource = _chekc;
我无法设置两个不同的项目源,因此无法绑定(bind)到我的其他表 _answer 中的颜色。
有什么解决方法吗?
最佳答案
这是一个常见问题:您必须显示一个列表,该列表是来自多个表的数据的组合。您不能将 ItemsSource 设置为多个来源这一事实并不是 ListView 中必须解决的错误……这是您设计中的一个限制……您需要构建一个正确处理此问题的 View 模型情况。
因此,实现此目的的一种方法是拥有一个 PostRowView 类,它是来自两个表的一对颜色和描述,以及一个管理 PostRowView 的 ObservableCollection。您将 ListView 的 ItemsSource 绑定(bind)到可观察集合。
关于c# - 绑定(bind)到多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43717962/