Programatically add ValidationRules to WPF DataGrid when autogenerating columns

2k views Asked by At

I want to do this in the AutoGeneratingColumn event:

<my:DataGridTextColumn Header="CompanyName">
    <my:DataGridTextColumn.Binding>
        <Binding Path="CompanyName">
            <Binding.ValidationRules>
                <local:DataRowValidation ValidationStep="UpdatedValue" />
            </Binding.ValidationRules>
        </Binding>
    </my:DataGridTextColumn.Binding>
</my:DataGridTextColumn>

Is it possible? The columns are autogenerated so I just want to add the ValidationRules to Binding.

1

There are 1 answers

0
jostyposty On BEST ANSWER

I ended up with this, if no one has any better solution.

private void DataGridAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    var binding = (Binding)((DataGridBoundColumn)e.Column).Binding;
    binding.ValidationRules.Add(new DataRowValidationRule { ValidationStep = ValidationStep.UpdatedValue });
}