Фон:
Я создаю UserControl , который содержит DataGrid , моя основная функциональность работает так, как мне бы хотелось , Это было до тех пор, пока я не применил стиль к своему приложению через ResourceDictionary (у меня нет контроля над содержимым ResourceDictionary )
По сути, сейчас я получаю некоторые странные проблемы внешнего вида, относящиеся к AlternatingRowBackground , из-за чего внешний вид каждой второй строки представляет собой странное сочетание стиля и внешнего вида по умолчанию. Это приводит к тому, что содержимое DataGrid становится нечитаемым.
Я сам не установил это свойство AlternatingRowBackground , предпочитая оставить это до стиля, определенного в словаре.
Я могу решить проблему с внешним видом, удалив из моей DataGrid следующее:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="IsSelected"
Value="{Binding Path=IsSelected}" />
</Style>
</DataGrid.RowStyle>
Это, конечно, функциональность, которая мне требуется. Я поиграл с входными данными, чтобы убедиться, что я расширяю стиль, а не перезаписываю, например:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource {x:Type DataGridRow}}">
<Setter Property="IsSelected"
Value="{Binding Path=IsSelected}" />
</Style>
</DataGrid.RowStyle>
(Обратите внимание, что два набора кода выше дают два разных вида, оба из которых не читаются )
Я также попытался полностью исключить чередующиеся строки, установив AlternationCount в ноль / единицу и т. Д. c.
К сожалению, ничего из этого не сработало.
Вопрос:
Существует ли более правильный способ привязки к свойству IsSelected DataGridRow ?
В качестве альтернативы, есть ли способ заставить все строки выглядеть одинаково, избегая чередующихся строк?