/// <summary> /// 메뉴, 기본 초기화 /// </summary> private void MenuDataInit(object obj) { try { mainwin = obj as MainWin; Button btnUser = mainwin.FindName("btnUser") as Button; StackPanel spMenuArea = mainwin.FindName("spMenuArea") as StackPanel; btnUser.Content = Logs.strLogin_ID; htconditions.Clear(); htconditions.Add("SYS_CD", FmsUtil.sysCd); dtMenuList = work.Select_MNU_LIST(htconditions); foreach (DataRow r in dtMenuList.Select("MNU_STEP = '1'", "ORD")) { try { if (!Logs.htPermission[r["MNU_CD"].ToString()].ToString().Equals("N")) { Button btnMenu = new Button { Name = "MN_" + r["MNU_CD"].ToString(), Content = r["MNU_NM"].ToString(), Style = Application.Current.Resources["MainMNUButton"] as Style, //Tag = "/Resources/Images/MNUImage/" + r["MNU_IMG"].ToString() }; if (ThemeApply.strThemeName.Equals("GTINavyTheme")) { btnMenu.Tag = "/Resources/Navy/Images/MNUImage/" + r["MNU_IMG"].ToString(); } else { btnMenu.Tag = "/Resources/Blue/Images/MNUImage/" + r["MNU_IMG"].ToString(); } btnMenu.Click += btnMenu_Click; mainwin.RegisterName(btnMenu.Name, btnMenu); spMenuArea.Children.Add(btnMenu); } } catch (Exception ex) { Messages.ErrLog(ex); } } Logs.configChange(Logs.WNMSConfig); } catch (Exception ex) { Messages.ErrLog(ex); } }
/// <summary> /// 탑메뉴 클릭시 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnMenu_Click(object sender, RoutedEventArgs e) { AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl; foreach (AccordionItem item in accrMenu.Items) { //메인윈도우에 객체를 삭제/추가한다... mainwin.UnregisterName(item.Name); foreach (AccordionItem citem in item.Items) { item.UnregisterName(citem.Name); } } accrMenu.Items.Clear(); DataRow[] drmidMENU; DataRow[] drsmMENU; drmidMENU = dtMenuList.Select("MNU_STEP = '2' AND UPPER_CD ='" + ((Button)sender).Name.Replace("MN_", "").ToString() + "'", "ORD"); //중메뉴 foreach (DataRow r in drmidMENU) { try { //중메뉴 권한 필터링 (N)인경우 NO if (!Logs.htPermission[r["MNU_CD"].ToString()].ToString().Equals("N")) { AccordionItem acctwoitem = new AccordionItem { Name = "MN_" + r["MNU_CD"].ToString(), Header = r["MNU_NM"].ToString(), Foreground = new SolidColorBrush(Colors.White), FontSize = 14, Glyph = new BitmapImage(new Uri("/Resources/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative)) }; if (ThemeApply.strThemeName.Equals("GTINavyTheme")) { acctwoitem.Glyph = new BitmapImage(new Uri("/Resources/Navy/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative)); } else { acctwoitem.Glyph = new BitmapImage(new Uri("/Resources/Blue/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative)); } acctwoitem.Margin = new Thickness(3, 0, 3, 0); mainwin.RegisterName(acctwoitem.Name, acctwoitem); //메인윈도우에 객체를 추가한다... accrMenu.Items.Add(acctwoitem); drsmMENU = null; drsmMENU = dtMenuList.Select("MNU_STEP = '3' AND UPPER_CD ='" + acctwoitem.Name.Replace("MN_", "").ToString() + "'", "ORD"); //소메뉴 foreach (DataRow drthree in drsmMENU) { try { //소메뉴 권한 필터링 (N)인경우 NO if (!Logs.htPermission[drthree["MNU_CD"].ToString()].ToString().Equals("N")) { AccordionItem accthreeitem = new AccordionItem { Name = "MN_" + drthree["MNU_CD"].ToString(), Header = " ⁃ " + drthree["MNU_NM"].ToString(), FontSize = 14, Foreground = new SolidColorBrush(Colors.White), //Background = (Brush)new BrushConverter().ConvertFrom("#195A92") }; mainwin.RegisterName(accthreeitem.Name, accthreeitem); acctwoitem.Items.Add(accthreeitem); } } catch (Exception ex) { Messages.ErrLog(ex); } } } } catch (Exception ex) { Messages.ErrLog(ex); } //편의를 위해 확장 추후 결정 accrMenu.ExpandAll(); } }