Ejemplo n.º 1
0
        private void HamburgerMenu_OnItemClick(object sender, ItemClickEventArgs e)
        {
            HamburgerMenuGlyphItem item = e.ClickedItem as HamburgerMenuGlyphItem;

            if (null != item)
            {
                Header.Text = item.Label;
                RootFrame.Navigate(item.TargetPageType);
            }
        }
Ejemplo n.º 2
0
        private async void hamMenShopThreads_ItemClick(object sender, ItemClickEventArgs args)
        {
            HamburgerMenuGlyphItem item = (HamburgerMenuGlyphItem)hamMenShopThreads.SelectedItem;
            string league = item.Glyph;
            var    shop   = Session.Instance().GetShop(league);

            Session.Instance().SetCurrentThreadId(shop.ThreadId);
            await InitUI(Session.Instance().CurrentThreadId, Session.Instance().GetShop().League.Name);

            AdjustLeagueInBrowsers();
        }
Ejemplo n.º 3
0
        private void HamburgerMenuControl_OnItemInvoked(object sender, HamburgerMenuItemInvokedEventArgs args)
        {
            HamburgerMenuGlyphItem item    = (HamburgerMenuGlyphItem)args.InvokedItem;
            UserControl            control = null;

            switch (item.Label)
            {
            case "基础配置":
                control = new u_DataConfig();
                break;
            }
            this.HamburgerMenuControl.Content = control;
        }
Ejemplo n.º 4
0
        private async void HandleShopWinClosed()
        {
            await Session.Instance().AddShop(WindowController.Instance().ShopFormWin.ThreadId, WindowController.Instance().ShopFormWin.League, WindowController.Instance().ShopFormWin.GenerateNewThread);

            Session.Instance().SetCurrentThreadId(WindowController.Instance().ShopFormWin.ThreadId);

            HamburgerMenuGlyphItem item = new HamburgerMenuGlyphItem();

            item.Label = Session.Instance().GetShop().Title;
            item.Glyph = WindowController.Instance().ShopFormWin.League;
            AddHamMenuItem(item);

            _ = InitUI(WindowController.Instance().ShopFormWin.ThreadId, WindowController.Instance().ShopFormWin.League);
        }
Ejemplo n.º 5
0
        private void SetHamMenuItemsFromShops()
        {
            HamburderMenuItems.Add(HamburgerMenuHeader);
            HamburderMenuItems.Add(HamburgerMenuSeparator);

            foreach (var shop in Session.Instance().GetShops())
            {
                HamburgerMenuGlyphItem item = new HamburgerMenuGlyphItem();
                item.Label = shop.Title;
                item.Glyph = shop.League.Name.ToString();
                HamburderMenuItems.Add(item);
            }

            hamMenShopThreads.ItemsSource = HamburderMenuItems;
        }
        /// <summary>
        /// The Adapt.
        /// </summary>
        /// <param name="region">The region <see cref="IRegion"/>.</param>
        /// <param name="regionTarget">The regionTarget <see cref="HamburgerMenuItemCollection"/>.</param>
        protected override void Adapt(IRegion region, HamburgerMenuItemCollection regionTarget)
        {
            region.Views.CollectionChanged += (s, e) =>
            {
                switch (e.Action)
                {
                case System.Collections.Specialized.NotifyCollectionChangedAction.Add:
                    foreach (var element in e.NewItems)
                    {
                        var plugin = ((UserControl)element).DataContext as IPlugin;
                        var hamburgerMenuGlyphItem = new HamburgerMenuGlyphItem();
                        hamburgerMenuGlyphItem.Glyph            = plugin.Glyph;
                        hamburgerMenuGlyphItem.Label            = plugin.Label;
                        hamburgerMenuGlyphItem.CommandParameter = plugin.CommandParameter;
                        hamburgerMenuGlyphItem.Tag = (UserControl)element;
                        hamburgerMenuGlyphItem.CommandParameter = element.GetType();
                        regionTarget.Add(hamburgerMenuGlyphItem);
                        hamburgerMenuGlyphItem.IsVisible = true;
                    }
                    break;

                case System.Collections.Specialized.NotifyCollectionChangedAction.Remove:
                    foreach (var t in e.OldItems)
                    {
                        for (var i = 0; i < regionTarget.Count; i++)
                        {
                            var tab = regionTarget[i];
                            if (tab.Tag == e.OldItems[0])
                            {
                                regionTarget.Remove(tab);
                            }
                        }
                    }
                    break;
                }
            };
        }