Мне трудно заставить RowStyleSelector работать с WPF DataGrid.
В моих ресурсах у меня есть
<loc:DetailsRowStyleSelector x:Key="detailsRowStyleSelector" AddRowStyle="{StaticResource newItemRowStyle}" StandardRowStyle="{StaticResource RowStyle}"/>
Тогда моя таблица данных использует это так:
<DataGrid ...
EnableRowVirtualization="false"
VirtualizingStackPanel.VirtualizationMode="Standard"
RowStyleSelector="{StaticResource detailsRowStyleSelector}"
Вызывается конструктор для селектора, но нет метода SelectStyle, и все мои строки выглядят одинаково.Похоже, документации по этому вопросу очень мало, но вот как выглядит мой селектор:
public class DetailsRowStyleSelector : StyleSelector {
public Style AddRowStyle { get; set; }
public Style StandardRowStyle { get; set; }
public DetailsRowStyleSelector() {
Console.WriteLine(""); // this is called
}
public override Style SelectStyle(object item, DependencyObject container) {
// this is not called