首页 > 解决方案 > 如何将 CollectionView SelectedItems 绑定到列表?

问题描述

我有一个 CollectionView ,其中包含一个项目列表。我想不出将多个选定项目绑定到 ViewModel 中的列表的方法。

XAML 代码:

<CollectionView ItemsSource="{Binding Names}" SelectedItems="{Binding NamesSelection}" SelectionMode="Multiple">
    <CollectionView.ItemTemplate>
        <DataTemplate>
            <StackLayout>
                <Label Text="{Binding Name}" VerticalOptions="Center"/>
            </StackLayout>
         </DataTemplate>
     </CollectionView.ItemTemplate>
</CollectionView>

非功能视图模型代码:

public MvxObservableCollection<Name> Names { get; } = new MvxObservableCollection<Name>(NamesHelpers.GetObjects());
private MvxObservableCollection<Name> _namesSelection;
public MvxObservableCollection<Name> NamesSelection 
{ 
    get=> _namesSelection;
    set 
    {
         SetProperty(ref _namesSelection, value);
    } 
}

如果我有一个 SelectedItem 子句,这可能会起作用。但我不确定如何让它为 SelectedItems 工作。

理想的输出是 NamesSelection 列表根据所选项目填充/取消填充。

标签: c#xamlxamarinxamarin.forms

解决方案


尝试将 NamesSelection 设置为 ObservableCollection 或与 Names 相同 => MvxObservableCollection Check here Multi Pre-Selection


推荐阅读