We usually do have an event that fires when the DataGrid generates columns automatically. However, this hasn't been implemented in UWP's DataGrid yet. You could use the Columns.CollectionChanged event in a similar fashion, but I have a better idea.
I have just realized you might be happy with just disabling IsCaseSensitive for all the TextFilterControls in the DataGrid. You can accomplish this without using a custom "MyFilterControl" or the "ColumnMarker"attached property.
Let's edit the previous example I sent.
Step 1. Remove the columns and go back to AutoGenerateColumns=True (the default):
Step 2. Delete ColumnMarker and MyFilterControl classes
Step 3. Update the CustomFilterButtonTapCommand class to the following:
public class CustomFilterButtonTapCommand : DataGridCommand
this.Id = CommandId.FilterButtonTap;
public override bool CanExecute(object parameter)
public override void Execute(object parameter)
var context = parameter as FilterButtonTapContext;
if (context.FirstFilterControl is DataGridTextFilterControl textfilterControl1)
textfilterControl1.IsCaseSensitive = false;
if (context.SecondFilterControl is DataGridTextFilterControl textfilterControl2)
textfilterControl2.IsCaseSensitive = false;
I have attached an updated version of the demo so you can see this at runtime:
Lance | Technical Support Engineer, Principal
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Feedback Portal
and vote to affect the priority of the items