私は wpf で遊んでいて、次の記事を見ました: WPF ListView Inactive Selection Color
私は似たようなことをしたいです。リストビュー項目が選択されたときに境界線を付けたいのですが、背景色を変更したくありません。これが必要な理由は、色分けされたリストビューが必要で、選択されたときに色を表示したいのですが、境界線で選択されていることを知りたいです。
何か案は?
アップデート:
以下の答えを試してみましたが、途中でリストビューアイテムの周りに境界線が表示されましたが、背景色が上書きされました。私が試した正しい構文を取得できません(BasedOnに注意してください):
<Style x:Key="SourceListView" TargetType="{x:Type ListViewItem}">
<Setter Property="Background" Value="{Binding SourceType, Converter={StaticResource SourceGroupConverter}}"/>
</Style>
<Style x:Key="MyListViewItemStyle" TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource SourceListView}" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border
x:Name="Border"
BorderBrush="Transparent"
BorderThickness="1">
<GridViewRowPresenter Columns="{TemplateBinding GridView.ColumnCollection}" Content="{TemplateBinding Content}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="BorderBrush" Value="Black"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
次に、これを試しました:
<Style x:Key="MyListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="Background" Value="{Binding SourceType, Converter={StaticResource SourceGroupConverter}}"/>
<Setter Property="Template">
...//Same as above
</Setter>
</Style>
どちらの試みも背景を白(または透明)に設定するだけです。私はそれが単なる構文であることを知っており、正しい方向への別のナッジをいただければ幸いです:)