绑定到多个对象

时间:2017-05-01 10:52:29

标签: c# xaml xamarin

在我目前的情况下,我有一个列表可以在我的应用中显示。此列表应基于两件事。描述和颜色,它基于每个元素的当前状态。挑战在于描述和颜色在每个自己的表中设置。有没有办法将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中的颜色。

对此有何解决方法?

1 个答案:

答案 0 :(得分:3)

这是一个常见问题:您必须显示一个列表,该列表是来自多个表的数据组合。您无法将ItemsSource设置为多个源的事实不是ListView中必须解决的错误......这是您设计中的一个限制...您需要构建一个正确处理此问题的视图模型情况。

所以这样做的一种方法是让PostRowView类与两个表中的颜色和描述配对,以及管理PostRowViews的ObservableCollection。将ListView的ItemsSource绑定到observable集合。