選択した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
リソースである:ListView
のIsEnabled
プロパティが変更を行い
<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>
、その場合、私は以下の持っています問題。私はどういうわけか<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{x:Static SystemColors.HighlightColor}"/>
、または同様のものを取り入れて、選択されたListViewItem
を強調表示して、非合焦のListView
にしたいと考えました。
私は次のようなスタイルを持っていますが、これはListView
のListViewItem
に影響していないようです。私が使用しているGridView
が理由かもしれないと思いました。 Template
プロパティをオーバーライドしようとしたときに、プロパティが無視されたため、GridView
が表示されませんでした。そのListView
が焦点の合っていないとき
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}"
Color="{x:Static SystemColors.HighlightColor}"/>
</Style.Resources>
</Style>
は、どのように私は青で、私のListView
で選択した項目を強調表示していますか?