C# 具有WPF和MVVM的Multiselect
在我的视图中使用C# 具有WPF和MVVM的Multiselect,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,在我的视图中使用组合框,实现我的viewModel为单个选择提供代码非常简单: public class TransportViewModel : ViewModel { private Transport _primaryModel; private ObservableCollection<Remark> _cargoRemarks; public ObservableCollection<Remark> CargoRemarks {
组合框
,实现我的viewModel为单个选择提供代码非常简单:
public class TransportViewModel : ViewModel
{
private Transport _primaryModel;
private ObservableCollection<Remark> _cargoRemarks;
public ObservableCollection<Remark> CargoRemarks
{
get { return _cargoRemarks; }
set
{
if (_cargoRemarks != value)
{
_cargoRemarks = value;
RaisePropertyChanged("CargoRemarks");
}
}
}
public Remark SelectedCargoRemark
{
get { return _primaryModel.CargoRemark; }
set
{
if (_primaryModel.CargoRemark != value)
{
_primaryModel.CargoRemark = value;
RaisePropertyChanged("SelectedCargoRemark");
}
}
}
}
公共类TransportViewModel:ViewModel
{
私人运输(primary model);;
私人可观察收集(备注);;
公众可观察收集货物评论
{
获取{return\u;}
设置
{
如果(_!=值)
{
_备注=价值;
RaisePropertyChanged(“货物备注”);
}
}
}
公共评论精选货物评论
{
获取{return\u primaryModel.CargoRemark;}
设置
{
if(_primaryModel.CargoRemark!=值)
{
_primaryModel.CargoRemark=值;
RaisePropertyChanged(“SelectedCargoRemark”);
}
}
}
}
视图现在可以这样使用它:
<ComboBox ... ItemsSource="{Binding CargoRemarks, UpdateSourceTrigger=PropertyChanged}" SelectedValue="{Binding SelectedCargoRemark, UpdateSourceTrigger=PropertyChanged}" />
但是,我想知道我必须在视图和视图模型中更改什么以提供多选(不仅可以选择一个备注,还可以选择1-n个备注)
这已经讨论过好几次了,但是这些讨论大多已经超过4年了,看起来非常复杂,需要额外的框架或类。有什么“超薄”的解决方案吗?这是一个解决方案。这可能对您有用。这是针对外部库/产品的。所以不是我想要的。