Esempio n. 1
0
        public ICollectionView GetCollectionView(string viewName)
        {
            IProvideAView   viewProvider = this[viewName];
            ICollectionView result       = viewProvider.View;

            return(result);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
        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);
                    }
                }
            }
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 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.");
 }
Esempio n. 8
0
 public void SetViewProvider(IProvideAView value, string viewName)
 {
     this[viewName] = value;
 }
Esempio n. 9
0
 public void SetDefaultViewProvider(IProvideAView value)
 {
     DefaultView = value;
 }
Esempio n. 10
0
        public IProvideAView GetViewProvider(string viewName)
        {
            IProvideAView result = this[viewName];

            return(result);
        }