我试图将选定的ListViewItem
上的默认浅灰色突出显示为ListView
聚焦时显示的蓝色突出显示。我一直试图调和不同的StackOverflow答案和在线来源,但我还没有弄清楚我需要什么样的XAML。我有以下几点:WPF - 使用GridView选择未聚焦的ListViewItem的颜色
<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
s在我的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
是重点不突出?