public void Initialize(IEnumerable <Option> options, int requiredSelections, SelectionRequirement selectionRequirement) { _requiredSelections = requiredSelections; _selectionRequirement = selectionRequirement; Options = options.Select(p => new OptionViewModel(p)).ToList(); Options.ForEach(p => p.PropertyChanged += OptionPropertyChanged); }
public static eSelectionRequirementType GetTypeFromRequirement(SelectionRequirement req) { if (_selectionTypes == null) { FillTypesDictionary(); } foreach (KeyValuePair <eSelectionRequirementType, System.Type> pair in _selectionTypes) { if (pair.Value == req.GetType()) { return(pair.Key); } } return(eSelectionRequirementType.None); }
public async Task <IEnumerable <Option> > SelectMany(IEnumerable <Option> options, int requiredSelections, SelectionRequirement selectionRequirement = SelectionRequirement.ExactMatch) { var multipleSelectionDialogViewModel = _mefContainer.GetExportedValue <IMultipleSelectionDialogViewModel>(); multipleSelectionDialogViewModel.Initialize(options, requiredSelections, selectionRequirement); return(await _metroDialog.ShowDialog(multipleSelectionDialogViewModel)); }