none
Gridview 分行的问题 RRS feed

  • 问题

  • <ItemsPanelTemplate x:Key="StoreFrontGridItemsPanelTemplate"><o:p></o:p>

                    <WrapGrid MaximumRowsOrColumns="7" VerticalChildrenAlignment="Top"<o:p></o:p>

      HorizontalChildrenAlignment="Left"/><o:p></o:p>

                </ItemsPanelTemplate><o:p></o:p>

    <o:p></o:p>

    这样设置了,能要是一直是4行, 请问是怎么回事<o:p></o:p>

    2012年6月16日 7:45

答案

  • 你将MaximumRowsOrColumns="5"就一直是5行了。 请新建一个空白项目进行测试,因为SDK的例子有很多其他的设置和布局,对你的这个设置有影响。

    "另外 gridview 可以有弹性么, 就是拉到最底会有反弹的效果"  在触摸下滚动到边界都会有一定的弹性溢出。鼠标操作没有。

    "ListView 如何去掉鼠标移到某项, 某项会反白一下。" 根据这个帖子学习如何修改ListView和ListViewItem的默认样式模板:http://social.msdn.microsoft.com/Forums/zh-CN/metroappzhcn/thread/56f345e9-e8b1-4013-a60e-671aee90e4b0 

    用这个ListViewItem的样式即可:

    <Style TargetType="ListViewItem">
    			<Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
    			<Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
    			<Setter Property="Background" Value="Transparent"/>
    			<Setter Property="TabNavigation" Value="Local"/>
    			<Setter Property="IsHoldingEnabled" Value="True"/>
    			<Setter Property="Margin" Value="0,0,18,2"/>
    			<Setter Property="HorizontalContentAlignment" Value="Left"/>
    			<Setter Property="VerticalContentAlignment" Value="Top"/>
    			<Setter Property="Template">
    				<Setter.Value>
    					<ControlTemplate TargetType="ListViewItem">
    						<Border x:Name="OuterContainer">
    							<VisualStateManager.VisualStateGroups>
    								<VisualStateGroup x:Name="CommonStates">
    									<VisualState x:Name="Normal"/>
    									<VisualState x:Name="PointerOver">
    										<!--<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PointerOverBorder"/>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectionBackground">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="SelectedBorder">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBorderThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectedEarmark">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    										</Storyboard>-->
    									</VisualState>
    									<VisualState x:Name="Pressed">
    										<Storyboard>
    											<PointerDownThemeAnimation TargetName="ContentContainer"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="PointerOverPressed">
    										<Storyboard>
    											<PointerDownThemeAnimation TargetName="ContentContainer"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PointerOverBorder"/>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectionBackground">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="SelectedBorder">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBorderThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectedEarmark">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Disabled">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="{StaticResource ListViewItemDisabledThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="contentPresenter"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="FocusStates">
    									<VisualState x:Name="Focused">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Unfocused"/>
    									<VisualState x:Name="PointerFocused"/>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="SelectionHintStates">
    									<VisualStateGroup.Transitions>
    										<VisualTransition GeneratedDuration="0:0:0.65" To="NoSelectionHint"/>
    									</VisualStateGroup.Transitions>
    									<VisualState x:Name="VerticalSelectionHint">
    										<Storyboard>
    											<SwipeHintThemeAnimation ToHorizontalOffset="0" TargetName="SelectionBackground" ToVerticalOffset="15"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="0" TargetName="ContentBorder" ToVerticalOffset="15"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="0" TargetName="SelectedCheckMark" ToVerticalOffset="15"/>
    											<DoubleAnimationUsingKeyFrames Duration="0:0:0.500" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyph">
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0.5"/>
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0.500" Value="0"/>
    											</DoubleAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="HorizontalSelectionHint">
    										<Storyboard>
    											<SwipeHintThemeAnimation ToHorizontalOffset="-23" TargetName="SelectionBackground" ToVerticalOffset="0"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="-23" TargetName="ContentBorder" ToVerticalOffset="0"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="-23" TargetName="SelectedCheckMark" ToVerticalOffset="0"/>
    											<DoubleAnimationUsingKeyFrames Duration="0:0:0.500" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyph">
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0.5"/>
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0.500" Value="0"/>
    											</DoubleAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="NoSelectionHint"/>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="SelectionStates">
    									<VisualState x:Name="UnselectedSwiping">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectingGlyph"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Selecting">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectingGlyph"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Selected">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="SelectedSwiping">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Unselecting">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Unselected">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="SelectedUnfocused">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="DragStates">
    									<VisualStateGroup.Transitions>
    										<VisualTransition GeneratedDuration="0:0:0.2" To="NotDragging"/>
    									</VisualStateGroup.Transitions>
    									<VisualState x:Name="NotDragging"/>
    									<VisualState x:Name="Dragging">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="{StaticResource ListViewItemDragThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="InnerDragContent"/>
    											<DragItemThemeAnimation TargetName="InnerDragContent"/>
    											<FadeOutThemeAnimation TargetName="SelectedCheckMarkOuter"/>
    											<FadeOutThemeAnimation TargetName="SelectedBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="DraggingTarget">
    										<Storyboard>
    											<DropTargetItemThemeAnimation TargetName="OuterContainer"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="MultipleDraggingPrimary">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MultiArrangeOverlayBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MultiArrangeOverlayText"/>
    											<DoubleAnimation Duration="0" To="{StaticResource ListViewItemDragThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ContentBorder"/>
    											<FadeInThemeAnimation TargetName="MultiArrangeOverlayBackground"/>
    											<FadeInThemeAnimation TargetName="MultiArrangeOverlayText"/>
    											<DragItemThemeAnimation TargetName="ContentBorder"/>
    											<FadeOutThemeAnimation TargetName="SelectionBackground"/>
    											<FadeOutThemeAnimation TargetName="SelectedCheckMarkOuter"/>
    											<FadeOutThemeAnimation TargetName="SelectedBorder"/>
    											<FadeOutThemeAnimation TargetName="PointerOverBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="MultipleDraggingSecondary">
    										<Storyboard>
    											<FadeOutThemeAnimation TargetName="ContentContainer"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="ReorderHintStates">
    									<VisualStateGroup.Transitions>
    										<VisualTransition GeneratedDuration="0:0:0.2" To="NoReorderHint"/>
    									</VisualStateGroup.Transitions>
    									<VisualState x:Name="NoReorderHint"/>
    									<VisualState x:Name="BottomReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Bottom" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="TopReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Top" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="RightReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Right" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="LeftReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Left" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="DataVirtualizationStates">
    									<VisualState x:Name="DataAvailable"/>
    									<VisualState x:Name="DataPlaceholder">
    										<Storyboard>
    											<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PlaceholderTextBlock">
    												<DiscreteObjectKeyFrame KeyTime="0">
    													<DiscreteObjectKeyFrame.Value>
    														<Visibility>Visible</Visibility>
    													</DiscreteObjectKeyFrame.Value>
    												</DiscreteObjectKeyFrame>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PlaceholderRect">
    												<DiscreteObjectKeyFrame KeyTime="0">
    													<DiscreteObjectKeyFrame.Value>
    														<Visibility>Visible</Visibility>
    													</DiscreteObjectKeyFrame.Value>
    												</DiscreteObjectKeyFrame>
    											</ObjectAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    							</VisualStateManager.VisualStateGroups>
    							<Grid x:Name="ReorderHintContent" Background="Transparent">
    								<Path x:Name="SelectingGlyph" Data="F1 M133.1,17.9 L137.2,13.2 L144.6,19.6 L156.4,5.8 L161.2,9.9 L145.6,28.4 z" Fill="{StaticResource ListViewItemCheckSelectingThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Right" Height="13" Margin="0,9.5,9.5,0" Opacity="0" Stretch="Fill" VerticalAlignment="Top" Width="15"/>
    								<Border x:Name="ContentContainer">
    									<Grid x:Name="InnerDragContent">
    										<Border x:Name="HintGlyphBorder" HorizontalAlignment="Right" Height="40" Margin="4" Opacity="0" VerticalAlignment="Top" Width="40">
    											<Path x:Name="HintGlyph" Data="F1 M133.1,17.9 L137.2,13.2 L144.6,19.6 L156.4,5.8 L161.2,9.9 L145.6,28.4 z" Fill="{StaticResource ListViewItemCheckHintThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Right" Height="13" Margin="0,5.5,5.5,0" Opacity="0" Stretch="Fill" VerticalAlignment="Top" Width="15"/>
    										</Border>
    										<Rectangle x:Name="PointerOverBorder" Fill="{StaticResource ListViewItemPointerOverBackgroundThemeBrush}" IsHitTestVisible="False" Margin="1" Opacity="0"/>
    										<Rectangle x:Name="FocusVisual" IsHitTestVisible="False" Opacity="0" Stroke="{StaticResource ListViewItemFocusBorderThemeBrush}" StrokeThickness="2"/>
    										<Rectangle x:Name="SelectionBackground" Fill="{StaticResource ListViewItemSelectedBackgroundThemeBrush}" Margin="4" Opacity="0"/>
    										<Border x:Name="ContentBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Margin="4">
    											<Grid>
    												<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
    												<TextBlock x:Name="PlaceholderTextBlock" Foreground="{x:Null}" IsHitTestVisible="False" Margin="{TemplateBinding Padding}" Opacity="0" Text="Xg"/>
    												<Rectangle x:Name="PlaceholderRect" Fill="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" IsHitTestVisible="False" Visibility="Collapsed"/>
    												<Rectangle x:Name="SelectedBorder" IsHitTestVisible="False" Opacity="0" Stroke="{StaticResource ListViewItemSelectedBackgroundThemeBrush}" StrokeThickness="{StaticResource ListViewItemSelectedBorderThemeThickness}"/>
    												<Rectangle x:Name="MultiArrangeOverlayBackground" Fill="{StaticResource ListViewItemDragBackgroundThemeBrush}" IsHitTestVisible="False" Opacity="0"/>
    											</Grid>
    										</Border>
    										<Border x:Name="SelectedCheckMarkOuter" HorizontalAlignment="Right" IsHitTestVisible="False" Margin="4" Padding="{TemplateBinding BorderThickness}" VerticalAlignment="Top">
    											<Grid x:Name="SelectedCheckMark" Height="40" Opacity="0" Width="40">
    												<Path x:Name="SelectedEarmark" Data="M0,0 L40,0 L40,40 z" Fill="{StaticResource ListViewItemSelectedBackgroundThemeBrush}" Stretch="Fill"/>
    												<Path Data="F1 M133.1,17.9 L137.2,13.2 L144.6,19.6 L156.4,5.8 L161.2,9.9 L145.6,28.4 z" Fill="{StaticResource ListViewItemCheckThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Right" Height="13" Margin="0,5.5,5.5,0" Stretch="Fill" VerticalAlignment="Top" Width="15"/>
    											</Grid>
    										</Border>
    										<TextBlock x:Name="MultiArrangeOverlayText" Foreground="{StaticResource ListViewItemDragForegroundThemeBrush}" FontSize="26.667" FontFamily="{StaticResource ContentControlThemeFontFamily}" IsHitTestVisible="False" Margin="18,9,0,0" Opacity="0" TextWrapping="Wrap" Text="{Binding TemplateSettings.DragItemsCount, RelativeSource={RelativeSource Mode=TemplatedParent}}" TextTrimming="WordEllipsis"/>
    									</Grid>
    								</Border>
    							</Grid>
    						</Border>
    					</ControlTemplate>
    				</Setter.Value>
    			</Setter>
    		</Style>

    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年6月18日 10:52
    版主

全部回复

  • 问题补充:<o:p></o:p>

     <ItemsPanelTemplate x:Key="StoreFrontGridItemsPanelTemplate"><o:p></o:p>

                    <WrapGrid   MaximumRowsOrColumns="5" VerticalChildrenAlignment="Top"<o:p></o:p>

      HorizontalChildrenAlignment="Left"/><o:p></o:p>

                </ItemsPanelTemplate><o:p></o:p>

    2012年6月18日 1:30
  • 请问你的问题是 要将GridView设置到一直显示4行? 还是不要一直显示4行?

    能否将问题描述清楚,且提供完整的你的GridView以及GridView外部的代码?

    我在一个空白的项目中测试 GridView以及WrapGrid的相关属性和功能都正常。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年6月18日 7:35
    版主
  • 其实我是在微软SDK的例子 ListView and GridView essentials sa1 中, 第一个 output 中修改MaximumRowsOrColumns这个参数,我想要的是 gridview一直是 5行, 请问如何做。<o:p></o:p>

    另外 gridview 可以有弹性么, 就是拉到最底会有反弹的效果。 另外带一个问题。 Listview 如何去掉鼠标移到某项, 某项会反白一下。<o:p></o:p>

    <o:p></o:p>

     <Grid Height="300" VerticalAlignment="Top"><o:p></o:p>

            <GridView x:Name="ItemGridView" Background="Red"<o:p></o:p>

                ItemTemplate="{StaticResource StoreFrontTileTemplate}"<o:p></o:p>

                ItemContainerStyle="{StaticResource StoreFrontTileStyle}"<o:p></o:p>

                ItemsPanel="{StaticResource StoreFrontGridItemsPanelTemplate}"<o:p></o:p>

                BorderBrush="LightGray"<o:p></o:p>

                VerticalAlignment="Top"<o:p></o:p>

                BorderThickness="1" ScrollViewer.VerticalScrollBarVisibility="Auto"<o:p></o:p>

                ScrollViewer.HorizontalScrollBarVisibility="Auto" SelectionMode="None"/><o:p></o:p>

    </Grid><o:p></o:p>

    <o:p></o:p>

       <DataTemplate x:Key="StoreFrontTileTemplate"><o:p></o:p>

                    <Grid HorizontalAlignment="Left" Background="White"><o:p></o:p>

                        <StackPanel Orientation="Horizontal" Margin="10,10,0,0"><o:p></o:p>

                            <Image Source="{Binding Image}" Height="60" Width="60" VerticalAlignment="Center" Margin="0,0,10,0"/><o:p></o:p>

                            <StackPanel Margin="0,0,0,0" Orientation="Vertical"><o:p></o:p>

                                <TextBlock TextWrapping="Wrap" Style="{StaticResource ItemTitleStyle}" Width="200" VerticalAlignment="Center" Text="{Binding Title}" HorizontalAlignment="Left" FontFamily="Segoe UI" /><o:p></o:p>

                                <TextBlock TextWrapping="Wrap" Style="{StaticResource ItemSubtitleStyle}" Width="200" MaxHeight="20" VerticalAlignment="Center" Text="{Binding Category}" HorizontalAlignment="Left"/><o:p></o:p>

                            </StackPanel><o:p></o:p>

                        </StackPanel><o:p></o:p>

                    </Grid><o:p></o:p>

                </DataTemplate><o:p></o:p>

    <o:p></o:p>

                <Style x:Key="StoreFrontTileStyle"  TargetType="GridViewItem"><o:p></o:p>

                    <Setter Property="FontFamily" Value="Segoe UI" /><o:p></o:p>

                    <Setter Property="Foreground" Value="White" /><o:p></o:p>

                    <Setter Property="Height" Value="80" /><o:p></o:p>

                    <Setter Property="Width" Value="292" /><o:p></o:p>

                    <Setter Property="Padding" Value="0" /><o:p></o:p>

                    <Setter Property="Margin" Value="0,0,8,8" /><o:p></o:p>

                    <Setter Property="HorizontalContentAlignment" Value="Left" /><o:p></o:p>

                    <Setter Property="VerticalContentAlignment" Value="Top" /><o:p></o:p>

                    <Setter Property="BorderThickness" Value="0"/><o:p></o:p>

                    <Setter Property="TabNavigation" Value="Local" /><o:p></o:p>

                </Style><o:p></o:p>

    <o:p></o:p>

                <Style x:Key="StoreFrontLVTileStyle"  TargetType="ListViewItem"><o:p></o:p>

                    <Setter Property="FontFamily" Value="Segoe UI" /><o:p></o:p>

                    <Setter Property="Foreground" Value="White" /><o:p></o:p>

                    <Setter Property="Height" Value="80" /><o:p></o:p>

                    <Setter Property="Width" Value="292" /><o:p></o:p>

                    <Setter Property="Padding" Value="0" /><o:p></o:p>

                    <Setter Property="Margin" Value="0,0,8,8" /><o:p></o:p>

                    <Setter Property="HorizontalContentAlignment" Value="Left" /><o:p></o:p>

                    <Setter Property="VerticalContentAlignment" Value="Top" /><o:p></o:p>

                    <Setter Property="BorderThickness" Value="0"/><o:p></o:p>

                    <Setter Property="TabNavigation" Value="Local" /><o:p></o:p>

                </Style><o:p></o:p>

    <o:p></o:p>

                <ItemsPanelTemplate x:Key="StoreFrontGridItemsPanelTemplate"><o:p></o:p>

                    <WrapGrid MaximumRowsOrColumns="7" VerticalChildrenAlignment="Top"<o:p></o:p>

      HorizontalChildrenAlignment="Left"/><o:p></o:p>

                </ItemsPanelTemplate><o:p></o:p>

    2012年6月18日 9:48
  • 你将MaximumRowsOrColumns="5"就一直是5行了。 请新建一个空白项目进行测试,因为SDK的例子有很多其他的设置和布局,对你的这个设置有影响。

    "另外 gridview 可以有弹性么, 就是拉到最底会有反弹的效果"  在触摸下滚动到边界都会有一定的弹性溢出。鼠标操作没有。

    "ListView 如何去掉鼠标移到某项, 某项会反白一下。" 根据这个帖子学习如何修改ListView和ListViewItem的默认样式模板:http://social.msdn.microsoft.com/Forums/zh-CN/metroappzhcn/thread/56f345e9-e8b1-4013-a60e-671aee90e4b0 

    用这个ListViewItem的样式即可:

    <Style TargetType="ListViewItem">
    			<Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
    			<Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
    			<Setter Property="Background" Value="Transparent"/>
    			<Setter Property="TabNavigation" Value="Local"/>
    			<Setter Property="IsHoldingEnabled" Value="True"/>
    			<Setter Property="Margin" Value="0,0,18,2"/>
    			<Setter Property="HorizontalContentAlignment" Value="Left"/>
    			<Setter Property="VerticalContentAlignment" Value="Top"/>
    			<Setter Property="Template">
    				<Setter.Value>
    					<ControlTemplate TargetType="ListViewItem">
    						<Border x:Name="OuterContainer">
    							<VisualStateManager.VisualStateGroups>
    								<VisualStateGroup x:Name="CommonStates">
    									<VisualState x:Name="Normal"/>
    									<VisualState x:Name="PointerOver">
    										<!--<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PointerOverBorder"/>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectionBackground">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="SelectedBorder">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBorderThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectedEarmark">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    										</Storyboard>-->
    									</VisualState>
    									<VisualState x:Name="Pressed">
    										<Storyboard>
    											<PointerDownThemeAnimation TargetName="ContentContainer"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="PointerOverPressed">
    										<Storyboard>
    											<PointerDownThemeAnimation TargetName="ContentContainer"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PointerOverBorder"/>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectionBackground">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Stroke" Storyboard.TargetName="SelectedBorder">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBorderThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="SelectedEarmark">
    												<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListViewItemSelectedPointerOverBackgroundThemeBrush}"/>
    											</ObjectAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Disabled">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="{StaticResource ListViewItemDisabledThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="contentPresenter"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="FocusStates">
    									<VisualState x:Name="Focused">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Unfocused"/>
    									<VisualState x:Name="PointerFocused"/>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="SelectionHintStates">
    									<VisualStateGroup.Transitions>
    										<VisualTransition GeneratedDuration="0:0:0.65" To="NoSelectionHint"/>
    									</VisualStateGroup.Transitions>
    									<VisualState x:Name="VerticalSelectionHint">
    										<Storyboard>
    											<SwipeHintThemeAnimation ToHorizontalOffset="0" TargetName="SelectionBackground" ToVerticalOffset="15"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="0" TargetName="ContentBorder" ToVerticalOffset="15"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="0" TargetName="SelectedCheckMark" ToVerticalOffset="15"/>
    											<DoubleAnimationUsingKeyFrames Duration="0:0:0.500" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyph">
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0.5"/>
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0.500" Value="0"/>
    											</DoubleAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="HorizontalSelectionHint">
    										<Storyboard>
    											<SwipeHintThemeAnimation ToHorizontalOffset="-23" TargetName="SelectionBackground" ToVerticalOffset="0"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="-23" TargetName="ContentBorder" ToVerticalOffset="0"/>
    											<SwipeHintThemeAnimation ToHorizontalOffset="-23" TargetName="SelectedCheckMark" ToVerticalOffset="0"/>
    											<DoubleAnimationUsingKeyFrames Duration="0:0:0.500" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyph">
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0" Value="0.5"/>
    												<DiscreteDoubleKeyFrame KeyTime="0:0:0.500" Value="0"/>
    											</DoubleAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="NoSelectionHint"/>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="SelectionStates">
    									<VisualState x:Name="UnselectedSwiping">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectingGlyph"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Selecting">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectingGlyph"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Selected">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="SelectedSwiping">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Unselecting">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="Unselected">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="HintGlyphBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="SelectedUnfocused">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectionBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedBorder"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="SelectedCheckMark"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="DragStates">
    									<VisualStateGroup.Transitions>
    										<VisualTransition GeneratedDuration="0:0:0.2" To="NotDragging"/>
    									</VisualStateGroup.Transitions>
    									<VisualState x:Name="NotDragging"/>
    									<VisualState x:Name="Dragging">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="{StaticResource ListViewItemDragThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="InnerDragContent"/>
    											<DragItemThemeAnimation TargetName="InnerDragContent"/>
    											<FadeOutThemeAnimation TargetName="SelectedCheckMarkOuter"/>
    											<FadeOutThemeAnimation TargetName="SelectedBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="DraggingTarget">
    										<Storyboard>
    											<DropTargetItemThemeAnimation TargetName="OuterContainer"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="MultipleDraggingPrimary">
    										<Storyboard>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MultiArrangeOverlayBackground"/>
    											<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="MultiArrangeOverlayText"/>
    											<DoubleAnimation Duration="0" To="{StaticResource ListViewItemDragThemeOpacity}" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ContentBorder"/>
    											<FadeInThemeAnimation TargetName="MultiArrangeOverlayBackground"/>
    											<FadeInThemeAnimation TargetName="MultiArrangeOverlayText"/>
    											<DragItemThemeAnimation TargetName="ContentBorder"/>
    											<FadeOutThemeAnimation TargetName="SelectionBackground"/>
    											<FadeOutThemeAnimation TargetName="SelectedCheckMarkOuter"/>
    											<FadeOutThemeAnimation TargetName="SelectedBorder"/>
    											<FadeOutThemeAnimation TargetName="PointerOverBorder"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="MultipleDraggingSecondary">
    										<Storyboard>
    											<FadeOutThemeAnimation TargetName="ContentContainer"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="ReorderHintStates">
    									<VisualStateGroup.Transitions>
    										<VisualTransition GeneratedDuration="0:0:0.2" To="NoReorderHint"/>
    									</VisualStateGroup.Transitions>
    									<VisualState x:Name="NoReorderHint"/>
    									<VisualState x:Name="BottomReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Bottom" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="TopReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Top" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="RightReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Right" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    									<VisualState x:Name="LeftReorderHint">
    										<Storyboard>
    											<DragOverThemeAnimation Direction="Left" ToOffset="{StaticResource ListViewItemReorderHintThemeOffset}" TargetName="ReorderHintContent"/>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    								<VisualStateGroup x:Name="DataVirtualizationStates">
    									<VisualState x:Name="DataAvailable"/>
    									<VisualState x:Name="DataPlaceholder">
    										<Storyboard>
    											<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PlaceholderTextBlock">
    												<DiscreteObjectKeyFrame KeyTime="0">
    													<DiscreteObjectKeyFrame.Value>
    														<Visibility>Visible</Visibility>
    													</DiscreteObjectKeyFrame.Value>
    												</DiscreteObjectKeyFrame>
    											</ObjectAnimationUsingKeyFrames>
    											<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Visibility" Storyboard.TargetName="PlaceholderRect">
    												<DiscreteObjectKeyFrame KeyTime="0">
    													<DiscreteObjectKeyFrame.Value>
    														<Visibility>Visible</Visibility>
    													</DiscreteObjectKeyFrame.Value>
    												</DiscreteObjectKeyFrame>
    											</ObjectAnimationUsingKeyFrames>
    										</Storyboard>
    									</VisualState>
    								</VisualStateGroup>
    							</VisualStateManager.VisualStateGroups>
    							<Grid x:Name="ReorderHintContent" Background="Transparent">
    								<Path x:Name="SelectingGlyph" Data="F1 M133.1,17.9 L137.2,13.2 L144.6,19.6 L156.4,5.8 L161.2,9.9 L145.6,28.4 z" Fill="{StaticResource ListViewItemCheckSelectingThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Right" Height="13" Margin="0,9.5,9.5,0" Opacity="0" Stretch="Fill" VerticalAlignment="Top" Width="15"/>
    								<Border x:Name="ContentContainer">
    									<Grid x:Name="InnerDragContent">
    										<Border x:Name="HintGlyphBorder" HorizontalAlignment="Right" Height="40" Margin="4" Opacity="0" VerticalAlignment="Top" Width="40">
    											<Path x:Name="HintGlyph" Data="F1 M133.1,17.9 L137.2,13.2 L144.6,19.6 L156.4,5.8 L161.2,9.9 L145.6,28.4 z" Fill="{StaticResource ListViewItemCheckHintThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Right" Height="13" Margin="0,5.5,5.5,0" Opacity="0" Stretch="Fill" VerticalAlignment="Top" Width="15"/>
    										</Border>
    										<Rectangle x:Name="PointerOverBorder" Fill="{StaticResource ListViewItemPointerOverBackgroundThemeBrush}" IsHitTestVisible="False" Margin="1" Opacity="0"/>
    										<Rectangle x:Name="FocusVisual" IsHitTestVisible="False" Opacity="0" Stroke="{StaticResource ListViewItemFocusBorderThemeBrush}" StrokeThickness="2"/>
    										<Rectangle x:Name="SelectionBackground" Fill="{StaticResource ListViewItemSelectedBackgroundThemeBrush}" Margin="4" Opacity="0"/>
    										<Border x:Name="ContentBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Margin="4">
    											<Grid>
    												<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
    												<TextBlock x:Name="PlaceholderTextBlock" Foreground="{x:Null}" IsHitTestVisible="False" Margin="{TemplateBinding Padding}" Opacity="0" Text="Xg"/>
    												<Rectangle x:Name="PlaceholderRect" Fill="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" IsHitTestVisible="False" Visibility="Collapsed"/>
    												<Rectangle x:Name="SelectedBorder" IsHitTestVisible="False" Opacity="0" Stroke="{StaticResource ListViewItemSelectedBackgroundThemeBrush}" StrokeThickness="{StaticResource ListViewItemSelectedBorderThemeThickness}"/>
    												<Rectangle x:Name="MultiArrangeOverlayBackground" Fill="{StaticResource ListViewItemDragBackgroundThemeBrush}" IsHitTestVisible="False" Opacity="0"/>
    											</Grid>
    										</Border>
    										<Border x:Name="SelectedCheckMarkOuter" HorizontalAlignment="Right" IsHitTestVisible="False" Margin="4" Padding="{TemplateBinding BorderThickness}" VerticalAlignment="Top">
    											<Grid x:Name="SelectedCheckMark" Height="40" Opacity="0" Width="40">
    												<Path x:Name="SelectedEarmark" Data="M0,0 L40,0 L40,40 z" Fill="{StaticResource ListViewItemSelectedBackgroundThemeBrush}" Stretch="Fill"/>
    												<Path Data="F1 M133.1,17.9 L137.2,13.2 L144.6,19.6 L156.4,5.8 L161.2,9.9 L145.6,28.4 z" Fill="{StaticResource ListViewItemCheckThemeBrush}" FlowDirection="LeftToRight" HorizontalAlignment="Right" Height="13" Margin="0,5.5,5.5,0" Stretch="Fill" VerticalAlignment="Top" Width="15"/>
    											</Grid>
    										</Border>
    										<TextBlock x:Name="MultiArrangeOverlayText" Foreground="{StaticResource ListViewItemDragForegroundThemeBrush}" FontSize="26.667" FontFamily="{StaticResource ContentControlThemeFontFamily}" IsHitTestVisible="False" Margin="18,9,0,0" Opacity="0" TextWrapping="Wrap" Text="{Binding TemplateSettings.DragItemsCount, RelativeSource={RelativeSource Mode=TemplatedParent}}" TextTrimming="WordEllipsis"/>
    									</Grid>
    								</Border>
    							</Grid>
    						</Border>
    					</ControlTemplate>
    				</Setter.Value>
    			</Setter>
    		</Style>

    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年6月18日 10:52
    版主
  • 谢谢老师

    2012年6月19日 1:12