示例#1
0
        /// <summary>
        /// Invokes the specific view load event and makes sure that it isn't double invoked.
        /// </summary>
        /// <param name="viewLoadStateEvent">The view load state event.</param>
        /// <exception cref="System.ArgumentOutOfRangeException">viewLoadStateEvent</exception>
        protected void InvokeViewLoadEvent(ViewLoadStateEvent viewLoadStateEvent)
        {
            if (_lastInvokedViewLoadStateEvent == viewLoadStateEvent)
            {
                return;
            }

            EventHandler <EventArgs> handler = null;

            switch (viewLoadStateEvent)
            {
            case ViewLoadStateEvent.Loading:
                handler = ViewLoading;
                break;

            case ViewLoadStateEvent.Loaded:
                handler = ViewLoaded;
                break;

            case ViewLoadStateEvent.Unloading:
                handler = ViewUnloading;
                break;

            case ViewLoadStateEvent.Unloaded:
                handler = ViewUnloaded;
                break;

            default:
                throw new ArgumentOutOfRangeException("viewLoadStateEvent");
            }

            handler.SafeInvoke(this);

            _lastInvokedViewLoadStateEvent = viewLoadStateEvent;
        }
示例#2
0
        /// <summary>
        /// Invokes the specific view load event and makes sure that it isn't double invoked.
        /// </summary>
        /// <param name="view">The view.</param>
        /// <param name="viewLoadStateEvent">The view load state event.</param>
        /// <exception cref="System.ArgumentOutOfRangeException">viewLoadStateEvent</exception>
        protected void InvokeViewLoadEvent(IView view, ViewLoadStateEvent viewLoadStateEvent)
        {
            if (_lastInvokedViewLoadStateEvent == viewLoadStateEvent)
            {
                return;
            }

            if (view == null)
            {
                return;
            }

            EventHandler <ViewLoadEventArgs> handler;

            switch (viewLoadStateEvent)
            {
            case ViewLoadStateEvent.Loading:
                handler = ViewLoading;
                break;

            case ViewLoadStateEvent.Loaded:
                handler = ViewLoaded;
                break;

            case ViewLoadStateEvent.Unloading:
                handler = ViewUnloading;
                break;

            case ViewLoadStateEvent.Unloaded:
                handler = ViewUnloaded;
                break;

            default:
                throw new ArgumentOutOfRangeException("viewLoadStateEvent");
            }

            if (handler != null)
            {
                handler(this, new ViewLoadEventArgs(view));
            }

            _lastInvokedViewLoadStateEvent = viewLoadStateEvent;
        }
示例#3
0
        /// <summary>
        /// Invokes the specific view load event and makes sure that it isn't double invoked.
        /// </summary>
        /// <param name="view">The view.</param>
        /// <param name="viewLoadStateEvent">The view load state event.</param>
        /// <exception cref="System.ArgumentOutOfRangeException">viewLoadStateEvent</exception>
        protected void InvokeViewLoadEvent(IView view, ViewLoadStateEvent viewLoadStateEvent)
        {
            if (_lastInvokedViewLoadStateEvent == viewLoadStateEvent)
            {
                return;
            }

            if (view == null)
            {
                return;
            }

            EventHandler<ViewLoadEventArgs> handler;

            switch (viewLoadStateEvent)
            {
                case ViewLoadStateEvent.Loading:
                    handler = ViewLoading;
                    break;

                case ViewLoadStateEvent.Loaded:
                    handler = ViewLoaded;
                    break;

                case ViewLoadStateEvent.Unloading:
                    handler = ViewUnloading;
                    break;

                case ViewLoadStateEvent.Unloaded:
                    handler = ViewUnloaded;
                    break;

                default:
                    throw new ArgumentOutOfRangeException("viewLoadStateEvent");
            }

            if (handler != null)
            {
                handler(this, new ViewLoadEventArgs(view));
            }

            _lastInvokedViewLoadStateEvent = viewLoadStateEvent;
        }
示例#4
0
        /// <summary>
        /// Invokes the specific view load event and makes sure that it isn't double invoked.
        /// </summary>
        /// <param name="viewLoadStateEvent">The view load state event.</param>
        /// <exception cref="System.ArgumentOutOfRangeException">viewLoadStateEvent</exception>
        protected void InvokeViewLoadEvent(ViewLoadStateEvent viewLoadStateEvent)
        {
            if (_lastInvokedViewLoadStateEvent == viewLoadStateEvent)
            {
                return;
            }

            EventHandler<EventArgs> handler = null;

            switch (viewLoadStateEvent)
            {
                case ViewLoadStateEvent.Loading:
                    handler = ViewLoading;
                    break;

                case ViewLoadStateEvent.Loaded:
                    handler = ViewLoaded;
                    break;

                case ViewLoadStateEvent.Unloading:
                    handler = ViewUnloading;
                    break;

                case ViewLoadStateEvent.Unloaded:
                    handler = ViewUnloaded;
                    break;

                default:
                    throw new ArgumentOutOfRangeException("viewLoadStateEvent");
            }

            handler.SafeInvoke(this);

            _lastInvokedViewLoadStateEvent = viewLoadStateEvent;
        }