Я пытаюсь изменить светло-серое выделение по умолчанию на выбранном ListViewItem
, чтобы оно было синим выделением, которое появляется, когда ListView
сфокусирован. Я пытался согласовать различные ответы и источники StackOverflow в Интернете, но я еще не понял, какой тип XAML мне нужен. У меня есть следующее:
<ListView ItemContainerStyle="{StaticResource checkableListViewItem}"
SelectionMode="Multiple"
View="{StaticResource fieldValueGridView}"/>
Указанный ресурс View
:
<GridView x:Key="fieldValueGridView" AllowsColumnReorder="False">
<GridViewColumn Header="Field">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock FontWeight="Bold" Text="{Binding Path=DisplayName}"/>
<TextBlock FontWeight="Bold" Text=": "/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=FieldValue}"/>
</GridView>
И указанный ресурс ItemContainerStyle
:
<Style TargetType="ListViewItem" BasedOn="{StaticResource {x:Type ListViewItem}}"
x:Key="checkableListViewItem">
<Setter Property="IsSelected" Value="{Binding Path=IsChecked}" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Top" />
</Style>
ListView
Свойство IsEnabled
действительно изменяется, если это имеет значение. Хотел как-то включить < SolidColorBrush x: Key = "{x: Static SystemColors.ControlBrushKey}" Color = "{x: Static SystemColors.HighlightColor}" />
или что-то подобное, чтобы выделить выбранные ListViewItem
, которые являются в несфокусированном ListView
.
У меня есть следующий стиль, но это, похоже, не влияет на ListViewItem
в моем ListView
, и я подумал, что GridView
, который я использую, может быть причиной. Когда я попытался переопределить свойство Template
, свойство View
было проигнорировано, поэтому мой GridView
не отображался.
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}"
Color="{x:Static SystemColors.HighlightColor}"/>
</Style.Resources>
</Style>
Как выделить синим цветом выбранные элементы в моем ListView
, когда этот ListView
не сфокусирован?