[英]Xamarin Forms Using multiple lists in ViewModel
我有个问题。 我创建了一个带有 ViewModel 的 CollectionView,在该 ViewModel 中我有 2 个不同的列表。 现在我知道如何显示 1 个列表中的数据,但现在我想在数据模板中使用第二个列表的数据选择器。 这是xaml代码:
<CollectionView ItemsSource="{Binding imageList}">
<CollectionView.ItemsLayout>
<GridItemsLayout Orientation="Vertical" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<Picker Grid.Row="0" Grid.RowSpan="2" Grid.Column="3" Title="Formaat" ItemsSource="{Binding secondList}" HorizontalOptions="FillAndExpand" />
<Label Grid.Row="0" Grid.Column="4" VerticalTextAlignment="Center" VerticalOptions="Center"
HorizontalOptions="Center" Text="{Binding Price, StringFormat='€ {0:F2}'}" TextColor="Black"
FontSize="18" />
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
所以价格确实从 imageList 中显示出来,但 Picker 是空的。 在选择器中,我想要来自secondList
的元素Name
我怎样才能解决这个问题?
问题是CollectionView
元素的DataTemplate
的BindingContext
是imageList
一个项目。 因此绑定将不起作用,因为我假设您的secondList
不是您在imageList
使用的元素模型的一部分,而是用于页面的整个视图模型的一部分。
我建议使用RelativeBinding
。 我不知道您的模型名称,但您的Picker
绑定可能如下所示:
<Picker ItemsSource="{Binding Source={RelativeSource AncestorType={x:Type local:YourViewModelTypeName}}, Path=secondList}" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.