2017-02-10 42 views
0

我工作在Windows 8.1普遍应用。我的应用程序中有一个gridview。当我按下/点击gridview中的一个项目时,我看到的项目有一个动画或一些类似于当我们按住按钮时出现的那个样式。附带示例图片。删除/覆盖GridView的样式在Windows 8.1通用应用

我想在GridView项删除此风格。建议我走这条路。 enter image description here

+0

您是否尝试将SelectionMode设置为None。否则,您可能必须编辑模板并禁用悬停部分的高亮显示。 – AbsoluteSith

+0

SelectionMode作为None不起作用。除编辑模板之外没有别的办法。如果是这样,你能否提供一个样式样式模板,它将覆盖按下/单击样式为无。 XAML是新手。 – Dany

回答

0

以此为风格为您GridViewItem在那里我有注释的代码和徘徊按下事件时强调。

<!-- Style for Windows.UI.Xaml.Controls.GridViewItem --> 
<Style TargetType="GridViewItem" x:Key="GridViewItemExpanded"> 
    <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> 
    <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> 
    <Setter Property="Background" Value="Transparent"/> 
    <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> 
    <Setter Property="TabNavigation" Value="Local"/> 
    <Setter Property="IsHoldingEnabled" Value="True"/> 
    <Setter Property="HorizontalContentAlignment" Value="Center"/> 
    <Setter Property="VerticalContentAlignment" Value="Center"/> 
    <Setter Property="Margin" Value="0,0,4,4"/> 
    <Setter Property="MinWidth" Value="{ThemeResource GridViewItemMinWidth}"/> 
    <Setter Property="MinHeight" Value="{ThemeResource GridViewItemMinHeight}"/> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="GridViewItem"> 
     <Grid x:Name="ContentBorder" 
       Background="{TemplateBinding Background}" 
       BorderBrush="{TemplateBinding BorderBrush}" 
       BorderThickness="{TemplateBinding BorderThickness}"> 
      <VisualStateManager.VisualStateGroups> 
      <VisualStateGroup x:Name="CommonStates"> 
       <VisualState x:Name="Normal"> 
       <Storyboard> 
        <PointerUpThemeAnimation Storyboard.TargetName="ContentPresenter" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="PointerOver"> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetName="BorderRectangle" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderRectangle" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListLowBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> 
        </ObjectAnimationUsingKeyFrames> 
        <PointerUpThemeAnimation Storyboard.TargetName="ContentPresenter" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="Pressed"> 
       <--<Storyboard> 
        <DoubleAnimation Storyboard.TargetName="BorderRectangle" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderRectangle" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListMediumBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> 
        </ObjectAnimationUsingKeyFrames> 
        <PointerDownThemeAnimation TargetName="ContentPresenter" /> 
       </Storyboard>--> 
       </VisualState> 
       <VisualState x:Name="Selected"> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetName="MultiSelectCheck" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <DoubleAnimation Storyboard.TargetName="BorderRectangle" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderRectangle" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="MultiSelectSquare" Storyboard.TargetProperty="Background"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <PointerUpThemeAnimation Storyboard.TargetName="ContentPresenter" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="PointerOverSelected"> 
       <--<Storyboard> 
        <DoubleAnimation Storyboard.TargetName="MultiSelectCheck" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <DoubleAnimation Storyboard.TargetName="BorderRectangle" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderRectangle" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListAccentMediumBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="MultiSelectSquare" Storyboard.TargetProperty="Background"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <PointerUpThemeAnimation Storyboard.TargetName="ContentPresenter" /> 
       </Storyboard>--> 
       </VisualState> 
       <VisualState x:Name="PressedSelected"> 
       <--<Storyboard> 
        <DoubleAnimation Storyboard.TargetName="MultiSelectCheck" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <DoubleAnimation Storyboard.TargetName="BorderRectangle" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BorderRectangle" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightListAccentHighBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Stroke"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="MultiSelectSquare" Storyboard.TargetProperty="Background"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightAccentBrush}" /> 
        </ObjectAnimationUsingKeyFrames> 
        <PointerDownThemeAnimation TargetName="ContentPresenter" /> 
       </Storyboard>--> 
       </VisualState> 
      </VisualStateGroup> 
      <VisualStateGroup x:Name="DisabledStates"> 
       <VisualState x:Name="Enabled"/> 
       <VisualState x:Name="Disabled"> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetName="ContentBorder" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="{ThemeResource ListViewItemDisabledThemeOpacity}"/> 
       </Storyboard> 
       </VisualState> 
      </VisualStateGroup> 
      <VisualStateGroup x:Name="FocusStates"> 
       <VisualState x:Name="Unfocused"/> 
       <VisualState x:Name="Focused"> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetName="FocusVisualWhite" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
        <DoubleAnimation Storyboard.TargetName="FocusVisualBlack" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1"/> 
       </Storyboard> 
       </VisualState> 
      </VisualStateGroup> 
      <VisualStateGroup x:Name="MultiSelectStates"> 
       <VisualState x:Name="MultiSelectDisabled"> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="MultiSelectSquare" Storyboard.TargetProperty="Visibility"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
        <DiscreteObjectKeyFrame KeyTime="0:0:0.333" Value="Collapsed" /> 
        </ObjectAnimationUsingKeyFrames> 
        <FadeOutThemeAnimation TargetName="MultiSelectSquare"/> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="MultiSelectEnabled"> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="MultiSelectSquare" Storyboard.TargetProperty="Visibility"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
        </ObjectAnimationUsingKeyFrames> 
        <FadeInThemeAnimation TargetName="MultiSelectSquare"/> 
       </Storyboard> 
       </VisualState> 
      </VisualStateGroup> 
      <VisualStateGroup x:Name="DataVirtualizationStates"> 
       <VisualState x:Name="DataAvailable"/> 
       <VisualState x:Name="DataPlaceholder"> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderTextBlock" Storyboard.TargetProperty="Visibility"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PlaceholderRect" Storyboard.TargetProperty="Visibility"> 
        <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
       </VisualState> 
      </VisualStateGroup> 
      <VisualStateGroup x:Name="ReorderHintStates"> 
       <VisualState x:Name="NoReorderHint"/> 
       <VisualState x:Name="BottomReorderHint"> 
       <Storyboard> 
        <DragOverThemeAnimation TargetName="ContentBorder" ToOffset="{ThemeResource GridViewItemReorderHintThemeOffset}" Direction="Bottom" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="TopReorderHint"> 
       <Storyboard> 
        <DragOverThemeAnimation TargetName="ContentBorder" ToOffset="{ThemeResource GridViewItemReorderHintThemeOffset}" Direction="Top" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="RightReorderHint"> 
       <Storyboard> 
        <DragOverThemeAnimation TargetName="ContentBorder" ToOffset="{ThemeResource GridViewItemReorderHintThemeOffset}" Direction="Right" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="LeftReorderHint"> 
       <Storyboard> 
        <DragOverThemeAnimation TargetName="ContentBorder" ToOffset="{ThemeResource GridViewItemReorderHintThemeOffset}" Direction="Left" /> 
       </Storyboard> 
       </VisualState> 
       <VisualStateGroup.Transitions> 
       <VisualTransition To="NoReorderHint" GeneratedDuration="0:0:0.2"/> 
       </VisualStateGroup.Transitions> 
      </VisualStateGroup> 
      <VisualStateGroup x:Name="DragStates"> 
       <VisualState x:Name="NotDragging" /> 
       <VisualState x:Name="Dragging"> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetName="ContentBorder" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="{ThemeResource ListViewItemDragThemeOpacity}" /> 
        <DragItemThemeAnimation TargetName="ContentBorder" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="DraggingTarget"> 
       <Storyboard> 
        <DropTargetItemThemeAnimation TargetName="ContentBorder" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="MultipleDraggingPrimary"> 
       <Storyboard> 
        <!-- These two Opacity animations are required - the FadeInThemeAnimations 
              on the same elements animate an internal Opacity. --> 
        <DoubleAnimation Storyboard.TargetName="MultiArrangeOverlayBackground" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1" /> 
        <DoubleAnimation Storyboard.TargetName="MultiArrangeOverlayText" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="1" /> 
        <DoubleAnimation Storyboard.TargetName="ContentBorder" 
            Storyboard.TargetProperty="Opacity" 
            Duration="0" 
            To="{ThemeResource ListViewItemDragThemeOpacity}" /> 
        <FadeInThemeAnimation TargetName="MultiArrangeOverlayBackground" /> 
        <FadeInThemeAnimation TargetName="MultiArrangeOverlayText" /> 
        <DragItemThemeAnimation TargetName="ContentBorder" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="MultipleDraggingSecondary"> 
       <Storyboard> 
        <FadeOutThemeAnimation TargetName="ContentBorder" /> 
       </Storyboard> 
       </VisualState> 
       <VisualState x:Name="DraggedPlaceholder"> 
       <Storyboard> 
        <FadeOutThemeAnimation TargetName="ContentBorder" /> 
       </Storyboard> 
       </VisualState> 
       <VisualStateGroup.Transitions> 
       <VisualTransition To="NotDragging" GeneratedDuration="0:0:0.2"/> 
       </VisualStateGroup.Transitions> 
      </VisualStateGroup> 
      </VisualStateManager.VisualStateGroups> 
      <ContentPresenter x:Name="ContentPresenter" 
          ContentTransitions="{TemplateBinding ContentTransitions}" 
          HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
          VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
          Margin="{TemplateBinding Padding}" /> 
      <!-- The 'Xg' text simulates the amount of space one line of text will occupy. 
          In the DataPlaceholder state, the Content is not loaded yet so we 
          approximate the size of the item using placeholder text. --> 
      <TextBlock x:Name="PlaceholderTextBlock" 
         Visibility="Collapsed" 
         Text="Xg" 
         Foreground="{x:Null}" 
         Margin="{TemplateBinding Padding}" 
         IsHitTestVisible="False" 
         AutomationProperties.AccessibilityView="Raw"/> 
      <Rectangle x:Name="PlaceholderRect" 
         Visibility="Collapsed" 
         Fill="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"/> 
      <Rectangle x:Name="MultiArrangeOverlayBackground" 
         IsHitTestVisible="False" 
         Opacity="0" 
         Fill="{ThemeResource ListViewItemDragBackgroundThemeBrush}" 
         Grid.ColumnSpan="2"/> 
      <Rectangle x:Name="BorderRectangle" 
         IsHitTestVisible="False" 
         Stroke="{ThemeResource SystemControlHighlightListAccentLowBrush}" 
         StrokeThickness="2" 
         Opacity="0"/> 
      <Border x:Name="MultiSelectSquare" 
        Background="{ThemeResource SystemControlBackgroundChromeMediumBrush}" 
        Width="20" 
        Height="20" 
        Margin="0,2,2,0" 
        VerticalAlignment="Top" 
        HorizontalAlignment="Right" 
        Visibility="Collapsed" > 
      <FontIcon x:Name="MultiSelectCheck" 
         FontFamily="{ThemeResource SymbolThemeFontFamily}" 
         Glyph="&#xE73E;" 
         FontSize="16" 
         Foreground="{ThemeResource SystemControlForegroundBaseMediumHighBrush}" 
         Opacity="0"/> 
      </Border> 
      <Rectangle x:Name="FocusVisualWhite" 
         IsHitTestVisible="False" 
         Stroke="{ThemeResource SystemControlForegroundAltHighBrush}" 
         StrokeEndLineCap="Square" 
         StrokeDashArray="1.0, 1.0" 
         StrokeDashOffset="1.5" 
         StrokeThickness="2" 
         Opacity="0"/> 
      <Rectangle x:Name="FocusVisualBlack" 
         IsHitTestVisible="False" 
         Stroke="{ThemeResource SystemControlForegroundBaseHighBrush}" 
         StrokeEndLineCap="Square" 
         StrokeDashArray="1.0, 1.0" 
         StrokeDashOffset="0.5" 
         StrokeThickness="2" 
         Opacity="0"/> 
      <TextBlock x:Name="MultiArrangeOverlayText" 
         Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.DragItemsCount}" 
         Foreground="{ThemeResource ListViewItemDragForegroundThemeBrush}" 
         FontFamily="{ThemeResource ContentControlThemeFontFamily}" 
         FontSize="26.667" 
         IsHitTestVisible="False" 
         Opacity="0" 
         TextWrapping="Wrap" 
         TextTrimming="WordEllipsis" 
         Margin="18,9,0,0" 
         AutomationProperties.AccessibilityView="Raw" 
         Grid.ColumnSpan="2"/> 
     </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 
+0

这很好。谢谢。 – Dany