Listview有多个选择甚至设置选择模式单?

时间:2016-05-24 09:40:15

标签: xaml win-universal-app uwp uwp-xaml

我有一个列表视图,但即使选择模式是单一的,我的列表视图也有多个选择?我已经在listview和itemcontainerstyle上发布了属性集。

:focus

和itemcontainer样式如下

     <ListView SelectionMode="Single" Tapped="UIElementTapped"
                    ItemsSource="{Binding Path=ListTimeFrame}"
                    SelectedItem="{Binding Path=SelectedTimeFrame, Mode=TwoWay}"
                    ItemContainerStyle="{StaticResource TimeFrameListViewItemContainerStyle}"
                    Padding="0"
                    Margin="0">

1 个答案:

答案 0 :(得分:0)

  

Listview有多个选择甚至设置选择模式单

这是因为您缺少Nomal视觉状态。您在Listviewitem样式中设置选定的可视状态,但不提供Nomal状态。 ListViewItem中的未选中状态是Nomal状态。因此,在SelectionStates可视状态组中添加以下可视状态。

<VisualState x:Name="Normal">
    <Storyboard>
        <PointerUpThemeAnimation Storyboard.TargetName="contentPresenter" />
    </Storyboard>
</VisualState>

所有可视状态代码如下所示:

 <VisualStateManager.VisualStateGroups>
     <VisualStateGroup x:Name="SelectionStates">
         <VisualState x:Name="Normal">
             <Storyboard>
                 <PointerUpThemeAnimation Storyboard.TargetName="contentPresenter" />
             </Storyboard>
         </VisualState>        
         <VisualState x:Name="Selected">
             <Storyboard>
                 <DoubleAnimation Duration="0"
                                  Storyboard.TargetName="SelectingGlyph"
                                  Storyboard.TargetProperty="Opacity"
                                  To="1" />
                 <ObjectAnimationUsingKeyFrames Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="Foreground">
                     <DiscreteObjectKeyFrame KeyTime="0" Value="Blue" />
                 </ObjectAnimationUsingKeyFrames>
             </Storyboard>
         </VisualState>
         <VisualState x:Name="SelectedUnfocused" />
     </VisualStateGroup>
 </VisualStateManager.VisualStateGroups>