public void Do_not_duplicate_result_subscriptions()
        {
            var shell = new Conductor <IScreen>();
            var model = new TestScreen();

            Init(model);

            WpfTestHelper.WithWindow2(async w => {
                var view = (FrameworkElement)ViewLocator.LocateForModel(shell, null, null);
                ViewModelBinder.Bind(shell, view, null);

                w.Content        = view;
                shell.ActiveItem = model;
                await view.WaitLoaded();

                shell.DeactivateItem(model, false);
                await w.WaitIdle();

                shell.ActivateItem(model);
                await w.WaitIdle();

                model.Raise();
                await w.WaitIdle();
            });

            Assert.AreEqual(1, model.ProcessedCount);
        }
예제 #2
0
        public void StartTasks()
        {
            TimedTasksViewModel timedTasks = new TimedTasksViewModel(parent, TotalTimeInfo, tasks.ToList(), this, windowManager);

            parent.ActivateItem(timedTasks);
            parent.DeactivateItem(this, true);
        }
예제 #3
0
        /// <summary>
        /// Mở trang chi tiết
        /// </summary>
        /// <param name="productSelected">Sản phẩm được chọn</param>
        public void ShowDetail(Product productSelected)
        {
            var parentConductor = (Conductor <IScreen> .Collection.OneActive)(this.Parent);

            Conductor <IScreen> .Collection.OneActive MainConductor = (Conductor <IScreen> .Collection.OneActive)parentConductor;
            MainConductor.DeactivateItem(MainConductor.Items[0], true);
            parentConductor.ActivateItem(new DetailProductViewModel(productSelected.IdProduct));
        }
예제 #4
0
 public void NavigateBack()
 {
     //Разрешается переходить назад только из дочерних окон
     if (conductor.Items.Count > 2)
     {
         conductor.DeactivateItem(conductor.ActiveItem, true);
     }
 }
예제 #5
0
        /// <summary>
        /// Mở trang chủ
        /// </summary>
        public void ShowHome()
        {
            var parentConductor = (Conductor <IScreen> .Collection.OneActive)(this.Parent);

            Conductor <IScreen> .Collection.OneActive MainConductor = (Conductor <IScreen> .Collection.OneActive)parentConductor;
            MainConductor.DeactivateItem(MainConductor.Items[0], true);
            parentConductor.ActivateItem(new HomeViewModel());
        }
예제 #6
0
        public void ShowDetailOrder(Order index)
        {
            var parentConductor = (Conductor <IScreen> .Collection.OneActive)(this.Parent);

            Conductor <IScreen> .Collection.OneActive MainConductor = (Conductor <IScreen> .Collection.OneActive)parentConductor;
            MainConductor.DeactivateItem(MainConductor.Items[0], true);
            parentConductor.ActivateItem(new DetailOrderViewModel(index));
        }
예제 #7
0
        public void CloseScreen(IScreen item)
        {
            if (item == null)
            {
                return;
            }

            conductor.DeactivateItem(item, true);
            conductor.Items.Remove(item);
            Release(item);
        }