42

ListViewを使用する場合、各アイテムのコンテンツを幅 100% に拡張するにはどうすればよいDataTemplateですか?

とで試しHorizontalContentAlignment="Stretch"ましたが、何も機能しないようです。コンテンツはまだ左に配置されています。ListViewHorizontalAlignment="Stretch"DataTemplate

私はこのようなものを持っています:

<ListView x:Name="questionsView" Background="{StaticResource ApplicationPageBackgroundThemeBrush}" HorizontalContentAlignment="Stretch">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Border Background="BlueViolet" HorizontalAlignment="Stretch">
                <Grid HorizontalAlignment="Stretch">
                    <TextBlock Text="{Binding}" />
                    <TextBlock HorizontalAlignment="Right">16 minutes ago</TextBlock>
                </Grid>
            </Border>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

ListViewと の間にもう 1 つのレイヤーがあると思いItemTemplateます。

4

3 に答える 3

95

わかった。ListView.ItemContainerStyleHorizontalContentAlignmentセッターでセットするのがコツです。すなわち:

<ListView x:Name="questionsView" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Border Background="BlueViolet">
                <Grid HorizontalAlignment="Stretch" Margin="0">
                    <TextBlock Text="{Binding}" />
                    <TextBlock HorizontalAlignment="Right">16 minutes ago</TextBlock>
                </Grid>
            </Border>
        </DataTemplate>
    </ListView.ItemTemplate>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        </Style>
    </ListView.ItemContainerStyle>
</ListView>
于 2013-09-05T02:44:27.527 に答える
7

項目コンテナーの Horizo​​ntalContentAlignment のプロパティStretch に設定して、これを試してください

<ListView.ItemContainerStyle>
   <Style TargetType="ListViewItem">
       <Setter Property="HorizontalContentAlignment" Value="Stretch" />
   </Style>
</ListView.ItemContainerStyle>
于 2014-05-29T07:36:42.273 に答える