예제 #1
0
        /// <summary>
        /// Adds the view load state.
        /// </summary>
        /// <param name="viewLoadState">The view load state.</param>
        /// <exception cref="ArgumentNullException">The <paramref name="viewLoadState" /> is <c>null</c>.</exception>
        public void AddView(IViewLoadState viewLoadState)
        {
            Argument.IsNotNull("viewLoadState", viewLoadState);

            var viewInfo = new WeakViewInfo(viewLoadState.View);

            viewInfo.Loaded   += OnViewInfoLoaded;
            viewInfo.Unloaded += OnViewInfoUnloaded;

            _views.Add(viewInfo);
        }
예제 #2
0
        /// <summary>
        /// Adds the view load state.
        /// </summary>
        /// <param name="viewLoadState">The view load state.</param>
        /// <exception cref="ArgumentNullException">The <paramref name="viewLoadState" /> is <c>null</c>.</exception>
        public void AddView(IViewLoadState viewLoadState)
        {
            Argument.IsNotNull("viewLoadState", viewLoadState);

#if SILVERLIGHT
            var frameworkElement = viewLoadState.View as FrameworkElement;
            if (frameworkElement != null)
            {
                _uninitializedViews[frameworkElement] = new UninitializedViewInfo(viewLoadState);

                frameworkElement.Loaded += OnFrameworkElementLoaded;
            }
#else
            var viewInfo = new WeakViewInfo(viewLoadState.View);
            viewInfo.Loaded   += OnViewInfoLoaded;
            viewInfo.Unloaded += OnViewInfoUnloaded;

            _views.Add(viewInfo);
#endif
        }
예제 #3
0
            public UninitializedViewInfo(IViewLoadState viewLoadState)
            {
                ViewLoadState = viewLoadState;

                ViewStack = new ViewStack(viewLoadState.View, false);
            }
예제 #4
0
        /// <summary>
        /// Adds the view load state.
        /// </summary>
        /// <param name="viewLoadState">The view load state.</param>
        /// <exception cref="ArgumentNullException">The <paramref name="viewLoadState" /> is <c>null</c>.</exception>
        public void AddView(IViewLoadState viewLoadState)
        {
            Argument.IsNotNull("viewLoadState", viewLoadState);

#if SILVERLIGHT
            var frameworkElement = viewLoadState.View as FrameworkElement;
            if (frameworkElement != null)
            {
                _uninitializedViews[frameworkElement] = new UninitializedViewInfo(viewLoadState);

                frameworkElement.Loaded += OnFrameworkElementLoaded;
            }
#else
            var viewInfo = new WeakViewInfo(viewLoadState.View);
            viewInfo.Loaded += OnViewInfoLoaded;
            viewInfo.Unloaded += OnViewInfoUnloaded;

            _views.Add(viewInfo);
#endif
        }
예제 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="WeakViewInfo" /> class.
        /// </summary>
        /// <param name="viewLoadState">The view load state.</param>
        /// <param name="isViewLoaded">if set to <c>true</c>, the view is already loaded.</param>
        /// <exception cref="ArgumentNullException">The <paramref name="viewLoadState" /> is <c>null</c>.</exception>
        public WeakViewInfo(IViewLoadState viewLoadState, bool isViewLoaded = false)
        {
            Argument.IsNotNull("viewLoadState", viewLoadState);

            Initialize(viewLoadState, isViewLoaded);
        }
예제 #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="WeakViewInfo" /> class.
        /// </summary>
        /// <param name="viewLoadState">The view load state.</param>
        /// <param name="isViewLoaded">if set to <c>true</c>, the view is already loaded.</param>
        /// <exception cref="ArgumentNullException">The <paramref name="viewLoadState" /> is <c>null</c>.</exception>
        public WeakViewInfo(IViewLoadState viewLoadState, bool isViewLoaded = false)
        {
            Argument.IsNotNull("viewLoadState", viewLoadState);

            Initialize(viewLoadState, isViewLoaded);
        }
예제 #7
0
            public UninitializedViewInfo(IViewLoadState viewLoadState)
            {
                ViewLoadState = viewLoadState;

                ViewStack = new ViewStack(viewLoadState.View, false);
            }