Пример #1
0
        protected override void RegisterAttributeTypes()
        {
            base.RegisterAttributeTypes();

            AttributeTypesToShowMethodDictionary.Add(typeof(NestedPresentationAttribute), ShowNestedViewController);
            AttributeTypesToShowMethodDictionary.Add(typeof(ModalCardPresentationAttribute), ShowModalCardViewController);
        }
Пример #2
0
        protected override void RegisterAttributeTypes()
        {
            base.RegisterAttributeTypes();

            AttributeTypesToShowMethodDictionary.Add(
                typeof(MvxSidebarPresentationAttribute),
                (vc, attribute, request) => ShowSidebarViewController(vc, (MvxSidebarPresentationAttribute)attribute, request));
        }
Пример #3
0
        protected virtual void Show(FrameworkElement element, MvxViewModelRequest request)
        {
            var attribute = GetPresentationAttributes(element);

            if (!AttributeTypesToShowMethodDictionary.TryGetValue(attribute.GetType(), out Action <FrameworkElement, MvxBasePresentationAttribute, MvxViewModelRequest> showAction))
            {
                throw new KeyNotFoundException($"The type {attribute.GetType().Name} is not configured in the presenter dictionary");
            }

            showAction.Invoke(element, attribute, request);
        }
Пример #4
0
        public virtual void Show(IMvxIosView view, MvxViewModelRequest request)
        {
            var viewController = view as UIViewController;
            var attribute      = GetPresentationAttributes(viewController);
            var attributeType  = attribute.GetType();

            if (AttributeTypesToShowMethodDictionary.TryGetValue(attributeType,
                                                                 out Action <UIViewController, MvxBasePresentationAttribute, MvxViewModelRequest> showAction))
            {
                showAction.Invoke(viewController, attribute, request);
                return;
            }

            throw new KeyNotFoundException($"The type {attributeType.Name} is not configured in the presenter dictionary");
        }