public ICollectionView GetCollectionView(string viewName) { IProvideAView viewProvider = this[viewName]; ICollectionView result = viewProvider.View; return(result); }
public CViewSourceProp(PropNameType propertyName, IProvideAView viewProvider, IPropTemplate <CollectionViewSource> template) : base(propertyName, typeIsSolid: true, template: template) { if (_template.StorageStrategy != PropStorageStrategyEnum.Virtual) { throw new InvalidOperationException($"CViewSource PropItems only support {nameof(PropStorageStrategyEnum.Virtual)}."); } _viewProvider = viewProvider; }
public CViewProp(PropNameType propertyName, IProvideAView viewProvider, IPropTemplate <ListCollectionView> template) : base(propertyName, typeIsSolid: true, template: template) { _viewProvider = viewProvider; if (_viewProvider != null) { // TODO: Make this a weak event subscription. _viewProvider.ViewSourceRefreshed += OurViewProviderGotRefreshed; } }
public IProvideAView this[string viewName] { get { if (viewName == null) { throw new ArgumentNullException(viewName, "The view's name must have a value."); } if (_views == null) { _views = new Dictionary <string, IProvideAView>(); } else { if (_views.TryGetValue(viewName, out IProvideAView theViewProvider)) { return(theViewProvider); } } IProvideAView vp = _viewBuilder(viewName, DataSourceProviderProvider.DataSourceProvider); _views.Add(viewName, vp); return(vp); } private set { if (viewName == null) { throw new ArgumentNullException(viewName, "The view's name must have a value."); } if (_views == null) { _views = new Dictionary <string, IProvideAView> { { viewName, value } }; } else { if (_views.ContainsKey(viewName)) { _views[viewName] = value; } else { _views.Add(viewName, value); } } } }
public override IProp CreateCVProp(string propertyName, IProvideAView viewProvider, IPropTemplate propTemplate) { IEqualityComparer <ListCollectionView> comparer = RefEqualityComparer <ListCollectionView> .Default; bool comparerIsRefEquality = true; if (propTemplate == null) { propTemplate = GetPropTemplate <ListCollectionView>(PropKindEnum.CollectionView, PropStorageStrategyEnum.Internal, comparer.Equals, comparerIsRefEquality, null); } propTemplate.PropCreator = CookedCVPropCreator; CViewProp result = new CViewProp(propertyName, viewProvider, (IPropTemplate <ListCollectionView>)propTemplate); return(result); }
public override IProp CreateCVSProp(PropNameType propertyName, IProvideAView viewProvider, IPropTemplate propTemplate) { IEqualityComparer <CollectionViewSource> comparer = RefEqualityComparer <CollectionViewSource> .Default; bool comparerIsRefEquality = true; if (propTemplate == null) { propTemplate = GetPropTemplate <CollectionViewSource>(PropKindEnum.CollectionViewSource, PropStorageStrategyEnum.Internal, comparer.Equals, comparerIsRefEquality, null); } propTemplate.PropCreator = CookedCVSPropCreator; ICViewSourceProp <CollectionViewSource> result = new CViewSourceProp(propertyName, viewProvider, (IPropTemplate <CollectionViewSource>)propTemplate); return(result); }
public virtual IProp CreateCVProp(PropNameType propertyName, IProvideAView viewProvider, IPropTemplate propTemplate) { throw new NotImplementedException($"This implementation of {nameof(IPropFactory)} cannot create CVProps (CollectionView PropItems), please use WPFPropfactory or similar."); }
public void SetViewProvider(IProvideAView value, string viewName) { this[viewName] = value; }
public void SetDefaultViewProvider(IProvideAView value) { DefaultView = value; }
public IProvideAView GetViewProvider(string viewName) { IProvideAView result = this[viewName]; return(result); }