Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
 public static IObservable <EventPattern <TransitionEventArgs> > GetTransitionCompleted(this ITransitionViewModel target)
 {
     return(Observable.FromEventPattern <TransitionEventArgs>(target, "TransitionCompleted"));
 }