/// <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); }
/// <summary> /// Initializes a new instance of the <see cref="ViewStack" /> class. /// </summary> /// <param name="view">The view.</param> /// <param name="isViewLoaded">if set to <c>true</c>, the view is loaded.</param> /// <param name="parentViewStack">The parent view stack. Can be <c>null</c> for root view stacks.</param> private ViewStack(IView view, bool isViewLoaded, ViewStack parentViewStack) { Argument.IsNotNull("view", view); _viewInfo = new WeakViewInfo(view, isViewLoaded); _viewInfo.Loaded += OnViewLoaded; _viewInfo.Unloaded += OnViewUnloaded; _parentViewStack = parentViewStack; if (parentViewStack != null) { _parentViewStack.ViewStackLoaded += OnParentViewStackLoaded; } }
/// <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 }