I have a datagrid with rows where the validation depends on his siblings. So far I m using BindingGroups and a custom ValidationRule to validate multiple rows a the same time. But I can t figure out how to change the appereance of the invalid row entries. I return a ValidationResult and my grid gets a red border but my style gets ignored.
My xaml style code so far:
<Style TargetType="{x:Type dg:DataGridRow}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="BorderThickness" Value="10"/>
<Setter Property="BorderBrush" Value="Green"/>
<Setter Property="Background" Value="#F6B39E"/>
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
edit: maybe I should post a little more of my code at the moment I have this validation declaration:
<dg:DataGrid.RowValidationRules>
<viewModel:StreamGridValidationRules />
</dg:DataGrid.RowValidationRules>
With this code my style above gets set correctly, but only one row gets validated at a time. As I need to validate all siblings and his parent aswell, I changed my code to this:
<dg:DataGrid.BindingGroup>
<BindingGroup Name="BindingGroup">
<BindingGroup.ValidationRules>
<viewModel:StreamGridValidationRules />
</BindingGroup.ValidationRules>
</BindingGroup>
</dg:DataGrid.BindingGroup>
With this I get multiple items in the BindingGroup but my style gets ignored completly and the grid just gets the standard 1px red border.
Thanks beforehand for any tips and hints!
tS!