J'essaie de changer la surbrillance gris clair par défaut sur un ListViewItem
sélectionné pour qu'il soit le surbrillance bleu qui apparaît lorsque le ListView
est mis au point. J'ai essayé de réconcilier différentes réponses et sources de StackOverflow en ligne, mais je n'ai pas encore compris de quel genre de XAML j'avais besoin. Je donne les résultats suivants:WPF - couleur non ciblée sélectionnée de ListViewItem avec un GridView
<ListView ItemContainerStyle="{StaticResource checkableListViewItem}"
SelectionMode="Multiple"
View="{StaticResource fieldValueGridView}"/>
La référence View
ressource est:
<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>
Et la référence ressource ItemContainerStyle
est:
<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>
La propriété de IsEnabled
ListView
ne change, si ce questions. Je voulais en quelque sorte incorporer <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{x:Static SystemColors.HighlightColor}"/>
, ou quelque chose de similaire, pour mettre en surbrillance ListViewItem
s qui sont dans un ListView
floues.
J'ai le style suivant, mais cela ne semble pas affecter ListViewItem
s dans mon ListView
, et je pensais que le GridView
que j'utilise pourrait être la raison. Lorsque j'ai tenté de remplacer la propriété Template
, la propriété View
a été ignorée, donc mon GridView
n'était pas affiché.
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}"
Color="{x:Static SystemColors.HighlightColor}"/>
</Style.Resources>
</Style>
Comment puis-je souligner en bleu les éléments sélectionnés dans mon ListView
quand ce ListView
est floue?