/// <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; }
/// <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()); }
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(); }
/// <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); } }
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); } } }