2017-02-10 76 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