トップ回答者
ListViewのItem選択時と選択が外れた時の色を同じにしたい

質問
回答
すべての返信
-
返信、ありがとうございます。
以下のようにやってみましたが上手くいきませんでした…。
<Style.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsSelected" Value="true" /> <!--<Condition Property="Selector.IsSelectionActive" Value="true" />--> </MultiTrigger.Conditions> <Setter Property="Background" Value="{x:Static SystemColors.HighlightBrush}" /> </MultiTrigger> </Style.Triggers>
何が不十分なのでしょうか?
以上、よろしくお願い致します。
-
報告していただいた内容にあれれ?と思いましたのでWindowsXPと7の環境で試してみました。
しかし依然として非アクティブ色(グレーっぽい色)になってしまいます。
コードは以下のよう記述しました。以上、よろしくお願いします。<Window.Resources> <Style TargetType="{x:Type ListViewItem}"> <Style.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsSelected" Value="true" /> <!--<Condition Property="Selector.IsSelectionActive" Value="true" />--> </MultiTrigger.Conditions> <Setter Property="Background" Value="{x:Static SystemColors.HighlightBrush}" /> </MultiTrigger> </Style.Triggers> </Style> </Window.Resources> <Grid> <ListView ItemsSource="{Binding Persons}" IsSynchronizedWithCurrentItem="True"> <ListView.ContextMenu> <ContextMenu> <MenuItem Header="この人を表示" Command="{Binding ShowCommand}" CommandParameter="{Binding Persons.CurrentItem}" /> </ContextMenu> </ListView.ContextMenu> <ListView.View> <GridView> <GridViewColumn Header="名前" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Header="年齢" DisplayMemberBinding="{Binding Age}"/> </GridView> </ListView.View> </ListView> </Grid> </Window>
-
以下を参考にして、ItemContainerStyleに設定して下さい。
【WPF】ListViewの行(Item)の見た目を変えちゃえ!
http://pro.art55.jp/?eid=878658
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/ -
返信ありがとうございます。
ItemContainerStyleを設定してみましたが依然として状況は同じです。
少し調べてみると以下のようにして色を変更してる方がいました。
<Style TargetType="ListBoxItem"> <Style.Resources> <!--SelectedItem without focus--> <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="LightBlue" Opacity=".4"/> </Style.Resources> </Style>
確かに色は変わるのですがこれをアクティブ色である{x:Static SystemColors.HighlightBrush}とすると例外が出て変更出来ませんでした。
何か良い方法はないものでしょうか?以上、よろしくお願いします。