在Windows 8.1 Universal app中删除/覆盖Gridview样式

时间:2017-02-10 11:37:38

标签: xaml gridview windows-8.1-universal

我正在使用Windows 8.1 Universal应用程序。我的应用程序中有一个gridview。当我按下/单击gridview中的某个项目时,我会看到带有动画的项目或类似于按下/按住按钮时出现的样式。附上示例图片。

我想从gridview项目中删除此样式。建议我这样做的方式。 enter image description here

1 个答案:

答案 0 :(得分: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>