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

我无法设置两个不同的itemsources,因此无法绑定到其他表格_answer中的颜色。

任何解决方法?

最佳答案

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

因此,一种实现方法是拥有一个PostRowView类,该类是两个表中颜色和描述的配对,还有一个管理PostRowViews的ObservableCollection。您将ListView的ItemsSource绑定到可观察的集合。

关于c# - 绑定(bind)到多个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43717962/

10-17 00:17