private void MenuRename_Click(object sender, RoutedEventArgs e) { var menuOption = (MenuItem)e.Source; UserEntryDialog dialog = new UserEntryDialog(); dialog.Title = "Rename"; dialog.Width = 300; dialog.ResponseTextBox.Text = menuOption.DataContext.ToString(); dialog.ResponseTextBox.SelectAll(); ColumnFilterControl.SetWindowPosition(dialog); if (dialog.ShowDialog() == true) { DataGridColumn column = Columns.Where(c => c.Header.ToString() == menuOption.DataContext.ToString()).FirstOrDefault(); int index = GetColumnHeaderIndexFromColumn(column); var visibleColumns = Columns.Where(c => c.Visibility == Visibility.Visible).ToList(); for (int i = 0; i < visibleColumns.Count; i++) { if (index == i) { visibleColumns[index].Header = dialog.ResponseTextBox.Text; break; } } SaveReadingsDataGrid(); } else { return; } }
internal void RegisterOptionControl(ColumnFilterControl ctrl) { if (!Filters.Contains(ctrl)) { ctrl.PropertyChanged += _filterHandler; Filters.Add(ctrl); } }
internal void UpdateColumnOptionControl(ColumnFilterControl columnFilterControl) { //Since visibility for column contrls is set off the ColumnFilterControl by the base grid, we need to //update the ColumnOptionControl since it is a seperate object. var ctrl = _optionControls.Where(c => c.FilterColumnInfo != null && columnFilterControl.FilterColumnInfo != null && c.FilterColumnInfo.Column == columnFilterControl.FilterColumnInfo.Column).FirstOrDefault(); if (ctrl != null) { ctrl.ResetVisibility(); } }