コード例 #1
0
        public TabbedViewModelBase(MainContext context) : base(context)
        {
            TabItemType selected = SelectedTab;

            TabItems = new List <TabItem>()
            {
                new TabItem {
                    Order      = 0,
                    Icon       = "M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z",
                    IsSelected = selected == TabItemType.Rides,
                    OnClick    = Context.UI.GoToRideOverviewScreenAsync,
                },
                new TabItem {
                    Order      = 1,
                    Icon       = "M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z",
                    IsSelected = selected == TabItemType.Trails,
                    OnClick    = Context.UI.GoToExploreTrailsScreenAsync,
                },
                new TabItem {
                    Order      = 2,
                    Icon       = "M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z",
                    IsSelected = selected == TabItemType.Profile,
                    OnClick    = Context.UI.GoToProfileScreenAsync,
                },
                new TabItem {
                    Order      = 3,
                    Icon       = "M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z",
                    IsSelected = selected == TabItemType.Settings,
                    OnClick    = Context.UI.GoToSettingsScreenAsync,
                },
            };
        }
コード例 #2
0
ファイル: TabModel.cs プロジェクト: MachoBrizzin/Reclaimer
        public TabModel(FrameworkElement content, TabItemType usage)
        {
            if (content == null)
            {
                throw new ArgumentNullException(nameof(content));
            }

            Content = content;
            Usage   = usage;
        }
コード例 #3
0
        public bool Open(UserTreeViewItem sender)
        {
            if (!sender.CanEdit())
            {
                MessageBox.Show(String.Format("Can't open {0}", sender.Header));
                return(false);
            }

            if (sender.PersonaFile.Object is IPersonaFile pf)
            {
                TabItemType DataContextType = TabItemType.Null;
                object      DataContext;
                string      Title = sender.PersonaFile.Name;

                if (pf.Type == FileType.SPR)
                {
                    DataContext     = new Editors.SPREditorVM(sender.PersonaFile.Object as PersonaEditorLib.FileStructure.SPR.SPR);
                    DataContextType = TabItemType.SPR;
                }
                else if (pf.Type == FileType.SPD)
                {
                    DataContext     = new Editors.SPREditorVM(sender.PersonaFile.Object as PersonaEditorLib.FileStructure.SPR.SPD);
                    DataContextType = TabItemType.SPR;
                }
                else if (pf.Type == FileType.PTP)
                {
                    DataContext     = new Editors.PTPEditorVM(sender.PersonaFile.Object as PersonaEditorLib.FileStructure.Text.PTP);
                    DataContextType = TabItemType.PTP;
                }
                else if (pf.Type == FileType.BMD)
                {
                    DataContext     = new Editors.BMDEditorVM(sender.PersonaFile);
                    DataContextType = TabItemType.BMD;
                }
                else if (pf.Type == FileType.FTD)
                {
                    DataContext     = new Editors.FTDEditorVM(sender.PersonaFile.Object as PersonaEditorLib.FileStructure.Text.FTD);
                    DataContextType = TabItemType.FTD;
                }
                //else if (pf.Type == FileType.FNT)
                //{
                //    DataContext = new Editors.FNTEditorVM(sender.personaFile.Object as PersonaEditorLib.FileStructure.FNT.FNT);
                //    DataContextType = TabItemType.FNT;
                //}
                else if (pf.Type == FileType.DAT)
                {
                    DataContext     = new Editors.HEXEditorVM(sender.PersonaFile.Object as PersonaEditorLib.FileStructure.DAT);
                    DataContextType = TabItemType.HEX;
                }
                else
                {
                    return(false);
                }

                ClosableTabItemVM closableTabItemVM = new ClosableTabItemVM();
                closableTabItemVM.DataContext      = DataContext;
                closableTabItemVM.DataContextType  = DataContextType;
                closableTabItemVM.TabTitle         = Title;
                closableTabItemVM.PropertyChanged += ClosableTabItemVM_PropertyChanged;
                closableTabItemVM.PersonaFile      = sender;

                tabCollection.Add(closableTabItemVM);
                SelectedTabIndex = tabCollection.IndexOf(closableTabItemVM);

                sender.UnEnable();
                return(true);
            }

            return(false);
        }