1

有人知道从 GridViewItem 中删除所有填充的方法吗?我正在使用非常小的物品(虽然不是太小,我在下图中夸大了),并且在选择物品时有一些填充物,这使得它变得非常糟糕,我想把它拿出来。这就是我的意思:

在此处输入图像描述

图像的代码是这样的:

<GridView Margin="120,80,0,0"
                  SelectionMode="Multiple">
            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                    <VirtualizingStackPanel
                        Orientation="Horizontal" />
                </ItemsPanelTemplate>
            </GridView.ItemsPanel>
            <GridView.ItemContainerStyle>
                <Style TargetType="GridViewItem">
                    <Setter Property="HorizontalAlignment" Value="Center" />
                    <Setter Property="VerticalAlignment" Value="Center" />
                </Style>
            </GridView.ItemContainerStyle>
            <Rectangle Height="10" Width="10" Fill="Red" />
            <Rectangle Height="10" Width="10" Fill="Orange" />
            <Rectangle Height="10" Width="10" Fill="Blue" />
            <Rectangle Height="10" Width="10" Fill="Green" />
            <Rectangle Height="10" Width="10" Fill="Yellow" />
        </GridView>

提前致谢!

4

1 回答 1

3

如果您提取 GridViewItem 的模板 - 您会看到它有一些硬编码值 - 4pt 边距、40x40 路径等。要解决这个问题 - 您需要修改模板,但您可以将项目尺寸硬编码为使它们更小 - 只需确保您可以使用不可见的选择复选标记:

    <GridView
        Margin="120,80,0,0"
        SelectionMode="Multiple">
        <GridView.ItemsPanel>
            <ItemsPanelTemplate>
                <VirtualizingStackPanel
                    Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </GridView.ItemsPanel>
        <GridView.ItemContainerStyle>
            <Style
                TargetType="GridViewItem">
                <Setter
                    Property="HorizontalAlignment"
                    Value="Center" />
                <Setter
                    Property="VerticalAlignment"
                    Value="Center" />
                <Setter
                    Property="Width"
                    Value="20" />
                <Setter
                    Property="Height"
                    Value="20" />
                <Setter
                    Property="Padding"
                    Value="0" />
                <Setter
                    Property="Margin"
                    Value="0" />
            </Style>
        </GridView.ItemContainerStyle>
        <Rectangle
            Height="10"
            Width="10"
            Fill="Red" />
        <Rectangle
            Height="10"
            Width="10"
            Fill="Orange" />
        <Rectangle
            Height="10"
            Width="10"
            Fill="Blue" />
        <Rectangle
            Height="10"
            Width="10"
            Fill="Green" />
        <Rectangle
            Height="10"
            Width="10"
            Fill="Yellow" />
    </GridView>
于 2012-05-08T04:14:21.010 回答