/// <inheritdoc /> protected override DataTemplate SelectTemplateCore(object item, DependencyObject container) { if (!new Themes.AbstractUICollectionPresenterStyle().TryGetValue("DefaultAbstractUICollectionTemplate", out var elementCollection)) { ElementCollection = ThrowHelper.ThrowArgumentNullException <DataTemplate>(nameof(elementCollection)); } ElementCollection = (DataTemplate)elementCollection; return(item switch { AbstractTextBoxViewModel _ => TextBoxTemplate, AbstractRichTextBlockViewModel _ => RichTextBlockTemplate, AbstractDataListViewModel _ => DataListTemplate, AbstractButtonViewModel _ => ButtonTemplate, AbstractMultiChoiceViewModel _ => MultiChoiceTemplate, AbstractBooleanViewModel _ => BooleanTemplate, AbstractProgressIndicatorViewModel _ => ProgressTemplate, //AbstractColorPickerViewModel _ => ColorPickerTemplate, AbstractFormViewModel _ => FormTemplate, AbstractUICollectionViewModel _ => ElementCollection, _ => base.SelectTemplateCore(item, container) });
internal static AbstractUICollectionViewModel ConvertToCollectionVm(AbstractFormViewModel formVm) { return(new((AbstractForm)formVm.Model)); }