如何让LVI伸展到容器的宽度?

时间:2014-01-20 23:28:14

标签: c# .net xaml windows-runtime windows-store-apps

我试图让我的ListView控件看起来很不错,但我无法让ListViewItem伸展到ListView控件的整个宽度。

我在商店的许多应用中看到过它。但我无法得到它:

enter image description here

我开始认为,看起来像是拉伸的应用程序可能实际上并没有使用ListViews,而是使用其他类型的List。

如何将Item拉伸到其容器的宽度?

以下是我正在使用的内容:

            <ListView x:Name="list" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0, 37, 0, 0" ItemsSource="{Binding Note}" Width="376" HorizontalContentAlignment="Stretch" Background="Magenta" ScrollViewer.VerticalScrollBarVisibility="Disabled">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="376">
                            <TextBlock Text="{Binding Name, Mode=OneWay}" TextWrapping="Wrap" Padding="10, 0, 0, 0" HorizontalAlignment="Left" SelectionHighlightColor="#FF4617B4" />
                            <!--<TextBlock TextWrapping="Wrap" Text="Jan 20, 2013" FontSize="9" Foreground="#FF4E7189" HorizontalAlignment="Right" SelectionHighlightColor="#FF9BCAEC" />-->
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

1 个答案:

答案 0 :(得分:1)

你有几个选择。无论出于何种原因,他们都会在模板中进行设置,因此,如果您查看default template,您会看到Margin="0,0,18,2"(多个对象上的其他奇数边距也会堆叠起来),所以如果您真的想要要修复它,你可以公开默认模板并直接修复它,或直接复制你自己的应用程序,或者快速尝试添加;

    <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="Margin" Value="0" />
            </Style>
        </ListView.ItemContainerStyle>

希望这有帮助。