private void ViewPageBox_ViewPageChanged(ViewPageBox vPageBox, Link nLink, IViewPage vPage) { MainViewModuleViewModel mvmvm = this.DataContext as MainViewModuleViewModel; foreach (LinkGroupViewModel lgvm in mvmvm.LinkGroupViewModels) { LinkViewModel selectLinkViewModel = lgvm.LinkViewModels.FirstOrDefault(lvm => lvm.ModuleName == nLink.ModuleName && lvm.ViewPageLocation == nLink.ViewPageLocation); if (selectLinkViewModel != null) { this.SelectedLink = selectLinkViewModel; break; } } }
/// <summary> /// 初始化菜单导航 /// </summary> private void InitializeMenuLink() { MainViewModuleViewModel mvmvm = this.DataContext as MainViewModuleViewModel; if (mvmvm.LinkGroupViewModels == null) { mvmvm.LinkGroupViewModels = new System.Collections.ObjectModel.ObservableCollection <LinkGroupViewModel>(); } else { mvmvm.LinkGroupViewModels.Clear(); } List <IModule> extModules = this.Module.ModuleFramework.GetExtModules(); foreach (IModule extModule in extModules) { if (extModule.Links.Count > 0) { LinkGroupViewModel lgvm = new LinkGroupViewModel(); lgvm.DisplayName = extModule.AppName; lgvm.ModuleName = extModule.ModuleName; foreach (Link link in extModule.Links) { LinkViewModel lvm = new LinkViewModel(); lvm.ModuleName = extModule.ModuleName; lvm.AppName = link.AppName; lvm.ViewPageLocation = link.ViewPageLocation; lgvm.LinkViewModels.Add(lvm); } mvmvm.LinkGroupViewModels.Add(lgvm); } } //如果存在数据的话,选择第一条为默认显示 if (mvmvm.LinkGroupViewModels.Count > 0) { LinkGroupViewModel defaultLinkGroup = mvmvm.LinkGroupViewModels[0]; if (defaultLinkGroup.LinkViewModels.Count > 0) { LinkViewModel defaultLink = defaultLinkGroup.LinkViewModels[0]; this._viewPageBox.DisplayLink = this._viewPageBox.DisplayLink = new Link(defaultLink.ModuleName, defaultLink.AppName, defaultLink.ViewPageLocation); } } }