Beispiel #1
0
        public void Show(BaseScreen baseScreen, int insertIndex)
        {
            int index = -1;

            foreach (TabItem item in this.tabControl.Items)
            {
                index++;
                if (item.Content == null)
                {
                    continue;
                }
                BaseScreen _baseScreen = item.Content as BaseScreen;

                if (_baseScreen == baseScreen)
                {
                    this.tabControl.SelectedIndex = index;
                    return;
                }
            }

            TabItem tabItem = this.CreateTabItem(baseScreen, true);

            // Events
            baseScreen.BeforeLoading();
            if (lastScreen != null)
            {
                lastScreen.BeforeUnLoading();
            }

            if (insertIndex >= 0 && insertIndex < this.tabControl.Items.Count)
            {
                this.tabControl.Items.Insert(insertIndex, tabItem);
            }
            else
            {
                this.tabControl.Items.Add(tabItem);
            }
            this.tabControl.SelectedItem = tabItem;

            // Events
            if (lastScreen != null)
            {
                lastScreen.AfterUnLoading();
            }
            baseScreen.AfterLoading();
            lastScreen = baseScreen;
        }
Beispiel #2
0
        public void Hide(BaseScreen baseScreen)
        {
            TabItem tabItem = this.GetItem(baseScreen);

            if (tabItem != null)
            {
                // Events
                baseScreen.BeforeUnLoading();

                this.tabControl.Items.Remove(tabItem);
                tabItem.Content     = null;
                this.loadedScreens &= ~((ScreenType)baseScreen.BaseScreenType);

                // Events
                baseScreen.AfterUnLoading();
            }
        }
Beispiel #3
0
        public void Hide(ScreenType type)
        {
            if ((this.loadedScreens & type) != type)
            {
                return;
            }

            TabItem tabItem = this.GetItem(type);

            if (tabItem != null)
            {
                BaseScreen screenToHide = tabItem.Content as BaseScreen;
                // Events
                screenToHide.BeforeUnLoading();

                this.tabControl.Items.Remove(tabItem);
                tabItem.Content     = null;
                this.loadedScreens &= ~type;

                // Events
                screenToHide.AfterUnLoading();
            }
        }