/// <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> /// 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 }
public UninitializedViewInfo(IViewLoadState viewLoadState) { ViewLoadState = viewLoadState; ViewStack = new ViewStack(viewLoadState.View, false); }
/// <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); }