public override bool CanExecute(IProcessingChainElementTemplate processingChainElementTemplate) { if (!_regionManager.Regions.ContainsRegionWithName(_parentRegionName)) { return(false); } var viewType = _viewLocator.GetViewType(processingChainElementTemplate); return(_regionManager.Regions[_parentRegionName].Views.Any(v => v.GetType() == viewType)); }
public override DataTemplate SelectTemplate(object item, DependencyObject container) { if (item == null) { return(null); } var viewType = _viewLocator.GetViewType(item); return(viewType != null ? _dataTemplateGenerator.CreateDataTemplate(item.GetType(), viewType) : base.SelectTemplate(item, container)); }