public override void OnApplyTemplate() { base.OnApplyTemplate(); if (this.Columns.Count > 0) { if (this.Columns[0].Header is ToggleExtend) { ToggleExtend btnFilter = this.Columns[0].Header as ToggleExtend; btnFilter.Checked -= BtnFilter_Checked; btnFilter.Unchecked -= BtnFilter_Unchecked; btnFilter.Checked += BtnFilter_Checked; btnFilter.Unchecked += BtnFilter_Unchecked; } ColumnHeaderInitCommand = new RelayCommand(InitColumnHeader); DataGridColumnHeaders = new List <DataGridColumnHeader>(); } }
/// <summary> /// 初始化主窗体功能按钮事件加载 /// </summary> private void InitializeEvent() { this.MouseMove += BaseWindow_MouseMove; #region 窗体操作 Button minBtn = (Button)Template.FindName("btnMin", this); minBtn.Click += delegate { WindowState = WindowState.Minimized; }; ToggleExtend btnMax = (ToggleExtend)Template.FindName("btnMax", this); btnMax.Click += delegate { if (btnMax.IsChecked == true) { WindowState = WindowState.Maximized; } else { WindowState = WindowState.Normal; } //NativeMethods.SetWindowRectanle(this); }; Button btnClose = (Button)Template.FindName("btnClose", this); btnClose.Click += delegate { RoutedEventArgs routedEventArgs = new RoutedEventArgs(BaseWindow.BeforeCloseEvent, this); this.RaiseEvent(routedEventArgs); this.Close(); }; Border borderTitle = (Border)Template.FindName("borderTitle", this); borderTitle.MouseMove += delegate(object sender, MouseEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) { if (WindowState != WindowState.Maximized) { this.DragMove(); } //NativeMethods.SetWindowRectanle(this); } }; borderTitle.MouseLeftButtonDown += delegate(object sender, MouseButtonEventArgs e) { if (IsMaxButton) { if (e.ClickCount >= 2) { if (WindowState == WindowState.Maximized) { WindowState = WindowState.Normal; btnMax.IsChecked = false; } else { WindowState = WindowState.Maximized; btnMax.IsChecked = true; } //NativeMethods.SetWindowRectanle(this); } } }; #endregion }