Listview UWP如何处理多重选择

Listview UWP如何处理多重选择,listview,uwp,multipleselection,Listview,Uwp,Multipleselection,我正在开发一个应用程序,在这个应用程序中,我需要从服务中提供一些选项,并从用户那里获取其中一些项目的选择。为了实现这一点,我尝试使用带有SelectionMode=“Multiple”的ListView,但我发现这种方法存在一些问题 在上图中,当用户从左面板中选择一个项目(在这里我称之为“插槽”)时,所选插槽的详细信息显示在右面板中。我的问题是如何处理“处理类型”字段。如您所见,插槽可能有许多处理类型。我需要将ListView的SelectedItems属性双向绑定到ViewModel中的某个

我正在开发一个应用程序,在这个应用程序中,我需要从服务中提供一些选项,并从用户那里获取其中一些项目的选择。为了实现这一点,我尝试使用带有SelectionMode=“Multiple”的ListView,但我发现这种方法存在一些问题


在上图中,当用户从左面板中选择一个项目(在这里我称之为“插槽”)时,所选插槽的详细信息显示在右面板中。我的问题是如何处理“处理类型”字段。如您所见,插槽可能有许多处理类型。我需要将ListView的SelectedItems属性双向绑定到ViewModel中的某个属性,但这是不可能的(顺便说一句,我遵循的是MVVM模式)。有一种方法可以从ViewModel设置所选项目,然后捕获用户可以返回到我的ViewModel的任何其他选择(或取消选择)。当然,我更喜欢干净、简单的解决方案,但在这一点上,任何建议都将不胜感激

我们不能将
绑定
分配到UWP中的只读属性
SelectedItems

作为补充,我们可以在类中定义
IsSelected
属性,该类应该继承INotifyPropertyChanged

类别代码:

公共类绑定:INotifyPropertyChanged
{
私有字符串\u名称;
私立学校当选;
公共字符串名
{
获取{return\u name;}
设置
{
_名称=值;
RaiseProperty变更(“名称”);
}
}
公选学校
{
获取{return}isSelected;}
设置
{
_isSelected=值;
RaisePropertyChanged(“IsSelected”);
}
}
公共事件属性更改事件处理程序属性更改;
受保护的void RaisePropertyChanged(字符串名称)
{
if(PropertyChanged!=null)
{
PropertyChanged(此,新PropertyChangedEventArgs(名称));
}
}
}
我们可以将
IsMultiSelectCheckBoxEnabled设置为false,这样
复选框将不会显示。然后我们可以在
数据模板
中添加
复选框
控件,然后我们可以将
IsChecked
属性绑定到
IsSelected

例如:


我们无法将
绑定
分配到UWP中的只读属性
SelectedItems

作为补充,我们可以在类中定义
IsSelected
属性,该类应该继承INotifyPropertyChanged

类别代码:

公共类绑定:INotifyPropertyChanged
{
私有字符串\u名称;
私立学校当选;
公共字符串名
{
获取{return\u name;}
设置
{
_名称=值;
RaiseProperty变更(“名称”);
}
}
公选学校
{
获取{return}isSelected;}
设置
{
_isSelected=值;
RaisePropertyChanged(“IsSelected”);
}
}
公共事件属性更改事件处理程序属性更改;
受保护的void RaisePropertyChanged(字符串名称)
{
if(PropertyChanged!=null)
{
PropertyChanged(此,新PropertyChangedEventArgs(名称));
}
}
}
我们可以将
IsMultiSelectCheckBoxEnabled设置为false,这样
复选框将不会显示。然后我们可以在
数据模板
中添加
复选框
控件,然后我们可以将
IsChecked
属性绑定到
IsSelected

例如:



您是否考虑过使用listView的selectionChanged事件?从外观上看,它看起来像一个selectionChanged事件任务。如果没有,请详细说明或提供一个演示示例应用程序或一些代码或GIF或YouTubeVid,说明您试图实现的目标?这将帮助我们提供更好的解决方案您是否考虑过使用listView的selectionChanged事件?从外观上看,它看起来像一个selectionChanged事件任务。如果没有,请详细说明或提供一个演示示例应用程序或一些代码或GIF或YouTubeVid,说明您试图实现的目标?这将帮助我们提供一个更好的解决方案。虽然使用这种方法似乎不需要SelectionMode和IsMultiSelectCheckBoxEnabled属性,但效果很好,尽管使用这种方法似乎不需要SelectionMode和IsMultiSelectCheckBoxEnabled属性