GridView左边距(Windows 8 C#/ XAML)

时间:2012-12-25 12:40:29

标签: c# xaml gridview windows-8

我想将GridView添加到我的页面,以便第一个组的左边距为120px。如果我在GridView上设置了左边距属性,它确实给了我正确的边距,但是当我滚动这些组时,这些组被剪裁到这个边距的左边。有没有办法设置GridView边距而不剪裁?我现在做的是添加一个空的假组。但是现在当我去拍摄视图时,我很难让这个组占用空间,即使我在这个假组中使用的项目模板只是

<Grid></Grid>

我想我可以尝试编辑GroupStyle并在组0之间建立间距(我也会接受这个作为答案),尽管这看起来非常难看。

1 个答案:

答案 0 :(得分:0)

VS2012的Windows商店“Grid App”的参考实现通过在GridView上使用Padding属性来实现这一点:

    <GridView
        x:Name="itemGridView"
        AutomationProperties.AutomationId="ItemGridView"
        AutomationProperties.Name="Grouped Items"
        Grid.RowSpan="2"
        Padding="116,137,40,46"
        ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
        ItemTemplate="{StaticResource Standard250x250ItemTemplate}"
        SelectionMode="None"
        IsSwipeEnabled="false"
        IsItemClickEnabled="True"
        ItemClick="ItemView_ItemClick">

可以使用捕捉的VisualState将Padding值更改为适当的值:

    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="itemGridView" Storyboard.TargetProperty="Padding">
        <DiscreteObjectKeyFrame KeyTime="0" Value="0,0,0,0"/>
    </ObjectAnimationUsingKeyFrames>