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 に答える