protected void AddViewToRegionByName(string regionName, string viewName, object userState = null) { FrameworkElement view = ViewRegistryService.ResolveView(viewName); ViewModelBase viewModelBase = view.DataContext as ViewModelBase;//PW.Windows.Contract.AssertIsType<ViewModelBase>(() => view.DataContext, view.DataContext); //PW.Windows.Contract.AssertNotNull(() => viewModelBase, viewModelBase, "Error for view : " + viewName); if (viewModelBase == null) { throw new InvalidOperationException("Error for view : " + viewName); } viewModelBase.Initialize(userState); var region = RegionManager.Regions[regionName]; if (!region.Views.Contains(view)) { RegionManager.Regions[regionName].Add(view); } ITransitionViewModel transitionViewModel = view.DataContext as ITransitionViewModel; if (transitionViewModel != null) { transitionViewModel.BeginLoad(); } }
public static IObservable <EventPattern <TransitionEventArgs> > GetTransitionCompleted(this ITransitionViewModel target, TransitionState targetState) { var observable = Observable.FromEventPattern <TransitionEventArgs>(target, "TransitionCompleted"); var filter = from EventPattern <TransitionEventArgs> c in observable where c.EventArgs.CompletedTransition == targetState select c; return(filter); }
public static IObservable <EventPattern <TransitionEventArgs> > GetTransitionCompleted(this ITransitionViewModel target) { return(Observable.FromEventPattern <TransitionEventArgs>(target, "TransitionCompleted")); }