次の定義は、"Single"ItemContainer
のスタイルとして使用されます。要素が選択されると、選択を示すために特定のグリフが表示されます。GridView
SelectionMode
Windows 8.1 では正常に動作しますが、UWP では変更された状態を受け入れます: Selectedはグリフを表示しますが、元の状態 (状態Unselected ) には戻らず、グリフは選択が変更されたままになりSelectionChanged
ます。削除されたアイテム。
他の状態 ( PressedやFocusedなど) にも同様の問題が存在します。わかりやすくするために、完全な VisualStateManager は示していません。
<Style x:Key="MyItemContainerStyle" TargetType="SelectorItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="SelectorItem">
<Border>
<Grid>
<!-- Layout of the grid -->
</Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected" />
<VisualState x:Name="SelectedUnfocused">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="SelectingGlyph"
Storyboard.TargetProperty="Opacity"
To="1"
Duration="0" />
</Storyboard>
</VisualState>
<VisualState x:Name="Selected">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="SelectingGlyph"
Storyboard.TargetProperty="Opacity"
To="1"
Duration="0" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
も試した
<VisualState x:Name="Unselected">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="SelectingGlyph"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0" />
</Storyboard>
</VisualState>
しかし、助けにはなりませんでした。