Exemple #1
0
        /// <summary>
        /// 初始化 LeftMenu
        /// </summary>
        private void InitLeftMenu()
        {
            var allLeftMenus = _leftMenusManage.GetAll();

            _leftMenu = new LeftMenu(allLeftMenus);
            // 给每个组的根目录添加“根节点”选择
            _leftMenu.NavBarControlMain.Groups.ForEach(a =>
            {
                var leftMenusModel = new LeftMenus
                {
                    DisplayName   = Config.RootDisplayName,
                    NavBarGroupId = ((NavBarGroups)a.DataContext).Id
                };
                var treeViewItem = new TreeViewImgItem
                {
                    DataContext = leftMenusModel,
                    HeaderText  = leftMenusModel.DisplayName,
                };
                ((CTreeView)a.Items[0]).Items.Insert(0, treeViewItem);
                treeViewItem.Selected += LeftMenu_RootItemSelected;
            });

            _leftMenu.ParentItemSelected += LeftMenu_ParentItemSelected;
            _leftMenu.ChildItemSelected  += LeftMenu_ChildItemSelected;
            GridLeftMenu.Children.Add(_leftMenu);
        }
        /// <summary>
        /// 选中根节点时
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void LeftMenu_RootItemSelected(object sender, RoutedEventArgs e)
        {
            var treeViewItem = (TreeViewItem)sender;

            _selectedLeftMenus = (LeftMenus)treeViewItem.DataContext;
            SelectedPath       = Config.RootDisplayName;
            e.Handled          = true;
        }
Exemple #3
0
        /// <summary>
        /// 配信中のお気に入り一覧を取得
        /// </summary>
        private ReadOnlyCollection <StreamClass> GetFavoriteAll()
        {
            var result = new List <StreamClass>();

            foreach (AbstractManager manager in LeftMenus.Where(x => x.TopMenuVisibility == Visibility.Visible).Select(x => x.Manager))
            {
                result.AddRange(manager.GetFavoriteLiveOnly());
            }
            return(result.AsReadOnly());
        }
Exemple #4
0
        public TreeViewImgItem GenerateTreeViewItem(LeftMenus leftMenusModel)
        {
            var treeViewItem = new TreeViewImgItem
            {
                HeaderText  = leftMenusModel.DisplayName,
                DataContext = leftMenusModel
            };

            InitSelectedAndIco(treeViewItem, 0);

            return(treeViewItem);
        }
        /// <summary>
        /// 选择节点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void LeftMenuTreeViewItem_Selected(TreeViewItem sender, RoutedEventArgs e)
        {
            var navBarGroupName = "";

            _selectedLeftMenus = (LeftMenus)sender.DataContext;
            var leftMenuId    = _selectedLeftMenus.Id;
            var navBarGroupId = _leftMenusManage.GetLeftMenuById(leftMenuId)?.NavBarGroupId;

            if (navBarGroupId != null)
            {
                navBarGroupName = _navBarGroupsManage.GetNavBarGroupById((int)navBarGroupId)?.Name;
            }

            SelectedPath = $"{navBarGroupName}\\{GetSelectedPath(LeftMenusList, leftMenuId, "")}";
            e.Handled    = true;
        }
 public CloudSettingContentViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, ISwitchContentService switchContentService)
 {
     this._regionManager        = regionManager;
     this._eventAggregator      = eventAggregator;
     this._switchContentService = switchContentService;
     this.PropertyChanged      += CloudDriveContentViewModel_PropertyChanged;
     this.ViewLoadedAction      = () =>
     {
         this._switchContentService.SwitchContentView(RegionNames.ActionCloudSettingRightRegion, this.SelectedMenu.ViewName);
     };
     this.LeftMenus = new List <LeftMenu>()
     {
         new LeftMenu("设置", string.Format("/{0};component/Resources/{1}", GetType().Assembly.FullName, "set.png"), RegionNames.CloudSettingCommon),
     };
     this.SelectedMenu = LeftMenus.First();
 }
Exemple #7
0
        /// <summary>
        /// 节点添加成功后,然后将其添加到界面上
        /// </summary>
        /// <param name="leftMenusModel"></param>
        private void AddTreeViewItem(LeftMenus leftMenusModel)
        {
            var selectedTreeView = GetSelectedTreeView();

            var newItem      = selectedTreeView?.GenerateTreeViewItem(leftMenusModel);
            var selectedItem = selectedTreeView?.SelectedItem as TreeViewImgItem;

            if (selectedItem == null || ((LeftMenus)selectedItem.DataContext)?.DisplayName == Config.RootDisplayName)
            {
                selectedTreeView?.Items.Add(newItem);
            }
            else
            {
                selectedItem.Items.Add(newItem);
                selectedTreeView.InitSelectedAndIco(selectedItem, selectedItem.Items.Count);
            }
        }
Exemple #8
0
        private void AddTreeViewItem(CTreeView treeView, ItemCollection items, TreeViewImgItem selectedItem, LeftMenus leftMenus)
        {
            if (leftMenus.ParentId == 0)
            {
                treeView.Items.Add(GetSelectedTreeView().GenerateTreeViewItem(selectedItem));
                selectedItem.IsSelected = true;
                return;
            }

            foreach (var i in items)
            {
                var item = (TreeViewImgItem)i;
                if (((LeftMenus)item.DataContext).Id == leftMenus.ParentId)
                {
                    var treeViewMain = GetSelectedTreeView();
                    item.Items.Add(treeViewMain.GenerateTreeViewItem(selectedItem));
                    selectedItem.IsSelected = true;
                    item.IsExpanded         = true;

                    var requestModel = new LeftMenusUpdateSortRequestModel
                    {
                        DisplayName = leftMenus.DisplayName,
                        Sort        = int.MaxValue,
                        Timestamp   = _leftMenusManage.ServerTime.ToUnixTimestamp()
                    };
                    var result = _leftMenusManage.UpdateSort(leftMenus.Id, Timestamp, requestModel);
                    if (result.ResultStatus == ResultStatus.Success)
                    {
                        leftMenus.DisplayName = result.Data.DisplayName;
                        leftMenus.Sort        = result.Data.Sort;
                        leftMenus.Timestamp   = result.Data.Timestamp;
                    }
                    else
                    {
                        _metroWindow.ShowMessageAsync("更新节点排序失败", result.Message);
                    }
                    break;
                }

                if (item.HasItems)
                {
                    AddTreeViewItem(treeView, item.Items, selectedItem, leftMenus);
                }
            }
        }