У меня есть таблица данных со строками, где проверка зависит от его братьев и сестер. До сих пор я использую BindingGroups и пользовательский ValidationRule для проверки нескольких строк одновременно. Но я не могу понять, как изменить внешний вид недействительных записей строки. Я возвращаю ValidationResult, и моя сетка получает красную рамку, но мой стиль игнорируется.
Мой код в стиле xaml:
<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: может быть, я должен опубликовать немного больше моего кода
на данный момент у меня есть это подтверждение:
<dg:DataGrid.RowValidationRules>
<viewModel:StreamGridValidationRules />
</dg:DataGrid.RowValidationRules>
С помощью этого кода мой стиль выше устанавливается правильно, но только одна строка проверяется за один раз. Поскольку мне нужно проверить всех братьев и сестер, а также его родителей, я изменил свой код на это:
<dg:DataGrid.BindingGroup>
<BindingGroup Name="BindingGroup">
<BindingGroup.ValidationRules>
<viewModel:StreamGridValidationRules />
</BindingGroup.ValidationRules>
</BindingGroup>
</dg:DataGrid.BindingGroup>
При этом я получаю несколько элементов в BindingGroup, но мой стиль полностью игнорируется, а сетка просто получает стандартную красную границу 1px.
Заранее спасибо за любые советы и подсказки!
Ts!