/// <summary> /// 즐겨찾기 액션 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnQuickMenu_Click(object sender, RoutedEventArgs e) { try { strSelectMenu = (sender as Button).Name.Replace("MN_", ""); AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl; DataRow[] dr = dtMenuList.Select("MNU_CD = '" + strSelectMenu + "' AND MNU_STEP = '3'"); if (dr.Length == 1) { if (!Logs.htPermission[strSelectMenu].ToString().Equals("N")) { if (!dr[0]["MNU_PATH"].ToString().Equals("")) { btnMenu_Click(mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString().Substring(0, 4)), null); accrMenu.SelectedItem = mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString()); MenuControlAction(null); if (!bQuickShowHiden) { QuickShowHidenAction(null); } } } } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// GIS에서 메뉴화면선택 수동액션 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void SelMenuPage(string strSelectMenu) { try { //strSelectMenu = (sender as Button).Name.Replace("MN_", ""); AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl; DataRow[] dr = dtMenuList.Select("MNU_CD = '" + strSelectMenu + "' AND MNU_STEP = '3'"); if (dr.Length == 1) { if (!Logs.htPermission[strSelectMenu].ToString().Equals("N")) { if (!dr[0]["MNU_PATH"].ToString().Equals("")) { //탑메뉴버튼 수동클릭 btnMenu_Click(mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString().Substring(0, 4)), null); //레프트메뉴(아코디언) 표시 accrMenu.SelectedItem = mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString()); //레프트메뉴 수동선택 MenuControlAction(null); } } } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 아코디언메뉴 Show/Hiden /// </summary> /// <param name="obj"></param> private void MenuShowHidenAction(object obj) { Storyboard sb; AccordionControl accr = (AccordionControl)mainwin.FindName("accrMenu"); Button btn = (Button)mainwin.FindName("btnMenuSlide"); if (bMenuShowHiden) { sb = mainwin.FindResource("Menuin") as Storyboard; btn.Margin = new Thickness(0, 0, 18, 0); accr.CollapseAll(); accr.RootItemExpandButtonPosition = ExpandButtonPosition.None; accr.ExpandItemOnHeaderClick = false; } else { sb = mainwin.FindResource("Menuout") as Storyboard; btn.Margin = new Thickness(0, 0, 6, 0); accr.ExpandAll(); accr.RootItemExpandButtonPosition = ExpandButtonPosition.Right; accr.ExpandItemOnHeaderClick = true; } sb.Begin(mainwin); bMenuShowHiden = !bMenuShowHiden; }
private void ShowNavigationItemAction_CustomizeControl(object sender, CustomizeControlEventArgs e) { if (e.Control is AccordionControl) { accordion = (AccordionControl)e.Control; ((AccordionSearchControl)accordion.GetFilterControl()).NullValuePrompt = "Search (Ctrl+Q)"; } }
private void Form1_Load(object sender, EventArgs e) { acControl = new AccordionControl(); acControl.Dock = DockStyle.Left; acControl.Parent = this; acControl.Width = 200; InitAccordionControl(); }
public MenuManager(System.Data.SqlClient.SqlConnection sqlConnection, NavigationFrame navigationFrame, AccordionControl accordionControl, Bar statusBar) { this.navigationFrame = navigationFrame; this.accordionControl = accordionControl; this.sqlConnection = sqlConnection; this.statusBar = statusBar; this.statusBar.AddItem(barItemMessage); this.statusBar.AddItem(barItemSelection); }
private bool disposedValue = false; // Dient zur Erkennung redundanter Aufrufe. protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { this.context.Dispose(); this.clients.Clear(); } // nicht verwaltete Ressourcen (nicht verwaltete Objekte) freigeben und Finalizer weiter unten überschreiben. // große Felder auf Null setzen. this.navigationFrame = null; this.accordionControl = null; disposedValue = true; } }
protected virtual AccordionControl GetAccordion() { var accordion = new AccordionControl(); Control control = null; foreach (var child in Children) { if (child is LogAggregationControl lac) { control = new AccordionItemControl(new Paragraph(lac.Message), lac, lac.HasError); } else { control = child; } accordion.Items.Add(control); } return(accordion); }
/// <summary> /// 按鈕建立 /// </summary> /// <param name="buttonSetting">按鈕設定檔</param> public void AccordionLoad(AccordionControl accordionControl1, ButtonSetting buttonSetting) { AccordionControl = accordionControl1; accordionControl1.Clear(); accordionControl1.AllowItemSelection = true; if (buttonSetting != null) { foreach (var item in buttonSetting.ButtonGroupSettings) { ButtonTypeEnum ButtonTypeEnum = (ButtonTypeEnum)item.ButtonStyle; switch (ButtonTypeEnum) { case ButtonTypeEnum.Group: // 群組 { // //列表 // AccordionControlElement[] ButtonItem = new AccordionControlElement[item.ButtonItemSettings.Count]; //建立列表 for (int i = 0; i < item.ButtonItemSettings.Count; i++) { ButtonItem[i] = new AccordionControlElement() { Style = ElementStyle.Item, //設定列表類型 Name = item.ButtonItemSettings[i].ItemName, // 設定顯示名稱 Tag = item.ButtonItemSettings[i], //自訂TAG Text = item.ButtonItemSettings[i].ItemName, //縮小名稱 }; AccordionControlElements.Add(ButtonItem[i]); } // // 群組 // AccordionControlElement Group = new AccordionControlElement(); //建立群組 Group.Expanded = false; //不顯示列表 Group.Name = item.GroupName; // 設定顯示名稱 Group.Text = item.GroupName; //縮小名稱 //Group.ImageOptions.Image= System.Drawing.Bitmap//加入ICON /*設定字體*/ Group.Appearance.Normal.FontStyleDelta = FontStyle.Bold; Group.Appearance.Normal.Name = "微軟正黑體"; Group.Appearance.Normal.FontSizeDelta = 10; Group.Appearance.Hovered.FontStyleDelta = FontStyle.Bold; Group.Appearance.Hovered.Name = "微軟正黑體"; Group.Appearance.Hovered.FontSizeDelta = 10; Group.Appearance.Pressed.FontStyleDelta = FontStyle.Bold; Group.Appearance.Pressed.Name = "微軟正黑體"; Group.Appearance.Pressed.FontSizeDelta = 10; Group.Elements.AddRange(ButtonItem); //將列表加入至群組 accordionControl1.Elements.Add(Group); //將群組加入至控制物件 // //列表 // for (int i = 0; i < item.ButtonItemSettings.Count; i++) { /*設定字體*/ ButtonItem[i].Appearance.Normal.FontStyleDelta = FontStyle.Bold; ButtonItem[i].Appearance.Normal.Name = "微軟正黑體"; ButtonItem[i].Appearance.Normal.FontSizeDelta = 8; ButtonItem[i].Appearance.Hovered.FontStyleDelta = FontStyle.Bold; ButtonItem[i].Appearance.Hovered.Name = "微軟正黑體"; ButtonItem[i].Appearance.Hovered.FontSizeDelta = 8; ButtonItem[i].Appearance.Pressed.FontStyleDelta = FontStyle.Bold; ButtonItem[i].Appearance.Pressed.Name = "微軟正黑體"; ButtonItem[i].Appearance.Pressed.FontSizeDelta = 8; } } break; case ButtonTypeEnum.Item: //列表 { AccordionControlElement ButtonItem = new AccordionControlElement() { Style = ElementStyle.Item, Name = item.ButtonItemSettings[0].ItemName, Tag = item.ButtonItemSettings[0], Text = item.ButtonItemSettings[0].ItemName, }; ButtonItem.Appearance.Normal.FontStyleDelta = FontStyle.Bold; ButtonItem.Appearance.Normal.Name = "微軟正黑體"; ButtonItem.Appearance.Normal.FontSizeDelta = 8; ButtonItem.Appearance.Hovered.FontStyleDelta = FontStyle.Bold; ButtonItem.Appearance.Hovered.Name = "微軟正黑體"; ButtonItem.Appearance.Hovered.FontSizeDelta = 8; ButtonItem.Appearance.Pressed.FontStyleDelta = FontStyle.Bold; ButtonItem.Appearance.Pressed.Name = "微軟正黑體"; ButtonItem.Appearance.Pressed.FontSizeDelta = 8; accordionControl1.Elements.Add(ButtonItem); AccordionControlElements.Add(ButtonItem); } break; } } accordionControl1.OptionsMinimizing.AllowMinimizeMode = DevExpress.Utils.DefaultBoolean.False; // 鎖定視窗 accordionControl1.ElementClick += new ElementClickEventHandler(this.accordionControl1_ElementClick); //按鈕事件 accordionControl1.SelectedElement = AccordionControlElements[0]; //觸發初始按鈕 } }
public static void UpdateAccordionControlHeight(AccordionControl control) { UpdateAccordionControlHeight(control.Elements); }
/// <summary> /// 단축키 입력 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Mainwin_KeyDown(object sender, KeyEventArgs e) { try { AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl; DataRow[] dr = null; if (Keyboard.IsKeyDown(Key.F1)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F1'"); } else if (Keyboard.IsKeyDown(Key.F2)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F2'"); } else if (Keyboard.IsKeyDown(Key.F3)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F3'"); } else if (Keyboard.IsKeyDown(Key.F4)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F4'"); } else if (Keyboard.IsKeyDown(Key.F5)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F5'"); } else if (Keyboard.IsKeyDown(Key.F6)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F6'"); } else if (Keyboard.IsKeyDown(Key.F7)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F7'"); } else if (Keyboard.IsKeyDown(Key.F8)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F8'"); } else if (Keyboard.IsKeyDown(Key.F9)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F9'"); } else if (Keyboard.IsKeyDown(Key.F10)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F10'"); } else if (Keyboard.IsKeyDown(Key.F11)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F11'"); } else if (Keyboard.IsKeyDown(Key.F12)) { dr = dtQuickMenuList.Select("SHRTEN_KEY = 'F12'"); } if (dr != null && dr.Length == 1) { dr = dtMenuList.Select("MNU_CD = '" + dr[0]["MNU_CD"].ToString() + "' AND MNU_STEP = '3'"); if (dr.Length == 1) { if (!Logs.htPermission[dr[0]["MNU_CD"]].ToString().Equals("N")) { if (!dr[0]["MNU_PATH"].ToString().Equals("")) { btnMenu_Click(mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString().Substring(0, 4)), null); accrMenu.SelectedItem = mainwin.FindName("MN_" + dr[0]["MNU_CD"].ToString()); MenuControlAction(null); if (!bQuickShowHiden) { QuickShowHidenAction(null); } } } } } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 메뉴선택 이벤트 /// </summary> /// <param name="obj"></param> private void MenuControlAction(object obj) { AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl; try { AccordionItem accitemSelect = accrMenu.SelectedItem as AccordionItem; if (accitemSelect != null) { strSelectMenu = accitemSelect.Name.Replace("MN_", ""); DataRow[] dr = dtMenuList.Select("MNU_CD = '" + strSelectMenu + "' AND MNU_STEP = '3'"); if (dr.Length == 1) { if (!Logs.htPermission[strSelectMenu].ToString().Equals("N")) { if (!dr[0]["MNU_PATH"].ToString().Equals("")) { /* */ //Grid gridtitle = mainwin.FindName("gridtitle") as Grid; //gridtitle.RowDefinitions[0].Height = new GridLength(40, GridUnitType.Pixel); //regionManager.Regions["ContentRegion"].RemoveAll(); //regionManager.RequestNavigate("ContentRegion", new Uri(dr[0]["MNU_PATH"].ToString(), UriKind.Relative)); // 선택된 메뉴를 세션에 저장 Logs.strFocusMNU_CD = accitemSelect.Name.Split('_')[1].ToString(); /* * ContentsRegion표시하지않고 팝업윈도우를 호출 */ // 0.현재열려있는 팝업을 닫는다 /* Popup클래그 방식 * pmain.IsOpen = false; */ try { FmsUtil.popWinView.Close(); } catch (Exception) { } if (FmsUtil.IsNull(dr[0]["MNU_PATH"].ToString())) { Messages.ShowErrMsgBox("잘못된 메뉴경로입니다."); return; } // 2.점검관리화면은 단독윈도우형태 if (dr[0]["MNU_PATH"].ToString().Contains("Mntc/View/ChkSchListView.xaml")) { //클래스풀패키지명 만들기 string className = "GTI.WFMS.Modules"; var paths = dr[0]["MNU_PATH"].ToString().Split('/'); foreach (string p in paths) { className += "." + p.Replace(".xaml", ""); } //Type t = ModulesAssembly.GetType("GTI.WFMS.Modules.Mntc.View.ChkSchListView"); Type t = ModulesAssembly.GetType(className); FmsUtil.popWinView = Activator.CreateInstance(t) as Window; //popWinView = new ChkSchListView(); //공통팝업창 사이즈 초기화 FmsUtil.popWinView.Height = 631; //팝업결과리턴 if (FmsUtil.popWinView.ShowDialog() is bool) { //재조회 } } // 3.일반 업무화면은 Page 형태의 팝업 else { /* Window 공통화면 형태 */ FmsUtil.popWinView = new PopWinView(dr[0]["MNU_PATH"].ToString()); Label lbTitle = FmsUtil.popWinView.FindName("lbTitle") as Label;//화면타이틀 lbTitle.Content = dr[0]["MNU_NM"].ToString(); FmsUtil.popWinView.Title = dr[0]["MNU_NM"].ToString(); //팝업결과리턴 if (FmsUtil.popWinView.ShowDialog() is bool) { //재조회 } /* Popup 공통화면 형태 * try * { * pmain = new PopMain(dr[0]["MNU_PATH"].ToString()); * pmain.DataContext = this;//팝업에 현재데이터컨텍스트를 전달한다... * } * catch (Exception) * { * return; * } * * Label lbTitle = pmain.FindName("lbTitle") as Label;//화면타이틀 * lbTitle.Content = dr[0]["MNU_NM"].ToString(); * * pmain.PlacementTarget = borderTop; * pmain.Placement = PlacementMode.Bottom; * pmain.VerticalOffset = 100; * pmain.Placement = PlacementMode.Left; * pmain.HorizontalOffset = 100; * pmain.IsOpen = true; * pmain.StaysOpen = false; * //pmain.Focusable = true; * //FmsUtil.__popMain = pmain; //열린팝업을 전역변수로 저장해놓음 */ } } else { Messages.ShowInfoMsgBox("메뉴 경로가 부적합 합니다."); return; } } //else //{ // Messages.ShowInfoMsgBox("해당메뉴에 권한이 없습니다."); //} } } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(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(); } }