1

各アイテム間に 20 ピクセルのギャップを追加するための値DataTemplateを含むアイテムを持つ ItemsControl があります。問題は、このコントロールがスクロールしているときに、このマージンが最終項目に適用されるために、最終項目の後に 20px の予備があることです。Margin0,0,0,20

このギャップを最後に削除/クリップするにはどうすればよいですか? または最初から追加されないようにするにはどうすればよいですか? つまり、アイテムに 20 ピクセルのギャップを適用しますが、リストの最初または最後には適用しませんか?

4

1 に答える 1

2

ItemsPanelTemplateMarginプロパティを「0,0,0,-20」に設定します。

例:

<Grid Background="Black">
    <ItemsControl ItemsSource="abcdefg" Background="White" VerticalAlignment="Top">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Border Margin="0,0,0,20" Background="Silver">
                    <TextBlock Text="{Binding}" Margin="5" />
                </Border>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Margin="0,0,0,-20" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
</Grid>
于 2013-01-08T17:51:59.923 に答える