コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }