Вам необходимо сбросить itemcontainerstyle .Так что свойства выбранных элементов по умолчанию переопределяются.Затем вам нужно создать несколько триггеров для элемента DataTemplate.
Ниже приведен код стиля, который сбрасывает свойства выбранного элемента по умолчанию.
<Style x:Key="StyleListViewItem" TargetType="ListViewItem">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
После того, как вы создали вышеуказанный стиль, используйте его следующим образом.( Фрагмент из моей существующей работы. Используйте его так, как он подходит к вашей работе )
<ListView ItemContainerStyle="{StaticResource StyleListViewItem}" Background="{x:Null}" BorderBrush="{x:Null}" ItemsSource="{Binding Value}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="2.5*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Key}" TextWrapping="WrapWithOverflow" />
<TextBlock Grid.Column="1" Text=":" Margin="3,0"/>
<TextBlock Grid.Column="2" Text="{Binding Value}" Style="{StaticResource StyleTblckAnswer}" TextWrapping="WrapWithOverflow"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Вышеуказанные шаги сбрасывают цвет фона элемента выбора по умолчанию.Вам нужно работать дальше и создавать триггеры для вашей таблицы данных, чтобы изменить цвет фона при выделении (или) наведением указателя мыши и т. Д.