0
ListView(Metroスタイルのアプリケーション)の選択項目の外観を再定義しようとしています。ListViewでVisualStateGroupsを指定する
VisualStateGroups
をテンプレートに定義することで実現しました。
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="expenseItem" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="LightGray"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected" />
<VisualState x:Name="Selected">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="itemLocationName" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ExpenseListHighlightedText}"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="expenseItem" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationGradientBlue}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
私の問題は、私が選択した項目の上にカーソルを置くと、私が望んでいなくても、背景が変わるということです。私が外に出ると、アイテムは「選択された」背景を保持するのではなく、「通常の」背景になります。
選択したアイテムで背景を変更しないように指定する方法を教えてください。
編集:私はまだ選択されていない項目に効果を上げなければなりません。
リストの選択されていない項目にこの効果を残したいと思います。 – Jonas