Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有WPF和MVVM的Multiselect_C#_Wpf_Xaml_Mvvm - Fatal编程技术网

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年了,看起来非常复杂,需要额外的框架或类。有什么“超薄”的解决方案吗?

这是一个解决方案。这可能对您有用。

这是针对外部库/产品的。所以不是我想要的。