読者です 読者をやめる 読者になる 読者になる

かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

ListViewItemで選択されたときはマウスオーバーで色を変えたくない

ということもありますよね?(ない?)

ListViewItemのテンプレートをいじればできます。 ただ、ListViewItemのテンプレートをコピーして編集しても、ListViewItemPresenterとかいうのがあるだけの小さなテンプレートでカスタムしようがありません。

ListViewItemのテンプレートは、generic.xamlにListViewItemExpantedという名前で定義されているものがあります。 GridのThemeResource ApplicationPageBackgroundThemeBrushあたりにマウスカーソルをあてて、F12で飛んで検索してコピーしてきましょう。

こいつにはPointerOverSelectedというVisualStateがあります。こいつの中身を、Selectedと同じにすれば出来上がりです。コードは長いので割愛。