使用WPF和MVVM进行多选

时间:2015-02-18 12:25:53

标签: c# wpf xaml mvvm

在我的视图中使用ComboBox实现我的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");
            }
        }
    }
}

视图现在可以像这样使用它:

<ComboBox ... ItemsSource="{Binding CargoRemarks, UpdateSourceTrigger=PropertyChanged}" SelectedValue="{Binding SelectedCargoRemark, UpdateSourceTrigger=PropertyChanged}" />

但是我想知道我必须在视图和viewModel中更改以提供多项选择(不仅可以选择一条注释,而且可以选择1-n个注释)。

这已经讨论了几次,但这些讨论大多超过4年,看起来非常复杂,需要额外的框架或类。有没有“苗条”的解决方案?

1 个答案:

答案 0 :(得分:0)

这是link。这可能对你有用。