//加载用户模块, 不同用户权限不一样,加载的功能模块也不一样 private void LoadNavModules() { var context = new SystemModuleDomainContext(); //获取用户模块,并回调处理 context.GetUserModuleList("10", AuthenticateStatus.CurrentUser.UserId, OnGetNavModuleCompleted, null); }
//超链接按钮单击事件, 导航到相应的页面 private void OnNavLinkButtonClick(object sender, RoutedEventArgs e) { var link = sender as HyperlinkButton; //获取超链接按钮 if (link == null) { return; } foreach (UIElement child in NavLinksStackPanel.Children) //StackPanel中查找超链接按钮 { var hb = child as HyperlinkButton; if (hb != null) // 找到有效的超链接按钮,设置激活或不活动状态 { VisualStateManager.GoToState(hb, ReferenceEquals(hb, link) ? "ActiveLink" : "InactiveLink", true); } } if (link.NavigateUri != null) //按钮的导航地址不为空 { ShowLeftMenu(false); } else { ShowLeftMenu(true); //显示导航项目 var module = link.DataContext as SystemModule; //获取超链接绑定的模块数据 if (module != null) { var context = new SystemModuleDomainContext(); //获取模块内容,并回调!!!!!!!!!!!!!!!!!!!! 子模块加载 context.GetUserModuleList(module.ModuleId, AuthenticateStatus.CurrentUser.UserId, OnGetSubModuleCompleted, null); } } }