How to change the Title and Watermark in WPF DataGrid?
In WPF DataGrid (SfDataGrid), Column Chooser window allows you to add or remove columns dynamically from the current view of grid by drag-and-drop operations. Please refer here to know more about Column Chooser.
In DataGrid, it is possible to change the above Title and WaterMarkText by using the Title and WaterMarkText property of column chooser window as shown in the below code snippet,
this.AssociatedObject.Loaded += OnAssociatedObjectLoaded;
ViewModel viewModel;
void InitializeColumnChooserPopup()
{
chooserWindow = new ColumnChooser(this.AssociatedObject.dataGrid);
chooserWindow.Resources.MergedDictionaries.Clear();
chooserWindow.ClearValue(ColumnChooser.StyleProperty);
chooserWindow.Title = "Column Picker";
chooserWindow.WaterMarkText = "No columns Available";
chooserWindow.Foreground = new SolidColorBrush(Colors.BlueViolet);
chooserWindow.Background = new SolidColorBrush(Colors.Pink);
chooserWindow.TitleBarForeground = new SolidColorBrush(Colors.White);
chooserWindow.TitleBarBackground = new SolidColorBrush(Colors.BlueViolet);
chooserWindow.Resources.MergedDictionaries.Add(this.AssociatedObject.MainGrid.Resources.MergedDictionaries[0]);
this.AssociatedObject.dataGrid.GridColumnDragDropController = new GridColumnChooserController(this.AssociatedObject.dataGrid, chooserWindow);
chooserWindow.Show();
chooserWindow.Owner = this.AssociatedObject;
chooserWindow.Closing += chooserWindow_Closing;
}
void OnAssociatedObjectLoaded(object sender, System.Windows.RoutedEventArgs e)
{
viewModel = (this.AssociatedObject.DataContext) as ViewModel;
viewModel.ColumnChooserCommand = new DelegateCommand<object>(ColumnChooserCommandHandler);
InitializeColumnChooserPopup();
}
Please refer the below screen shot of changed Title and Watermark text property of column chooser window,
