c# - 如何将 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 列表根据所选项目填充/取消填充。
解决方案
尝试将 NamesSelection 设置为 ObservableCollection 或与 Names 相同 => MvxObservableCollection Check here Multi Pre-Selection
推荐阅读
- javascript - 如何根据条件创建一个新数组将元素定位在第一个位置?
- javascript - 如何操作谷歌图表以获取 haxis 中的随机图例
- html - 从表格行中的输入插入数据
- wso2 - WSO2 CEP 水平可扩展性
- c# - 将自定义 TypeConverter 限制为特定程序集
- node.js - Node.js & Sequelize:findAll 上的 res.json?
- c# - 从 vb.net DLL 到 ac# DLL 的后期绑定调用
- centos7 - 尝试在我的分区上创建文件系统时出现错误
- javascript - Javascript如何将值返回给调用函数
- sql - 在 SQL 中将行转换为列