85

我目前正在使用 XAML 设计一个 Windows 8 商店应用程序,但我有一个小问题。我有一个带有 DataTemple 的 ListView。

我的 ListView & DataTemplate 的代码如下:

<ListView x:Name="listPageItems"
          Grid.Row="1"
          SelectionMode="Extended"
          IsSwipeEnabled="False"
          ItemsSource="{Binding Mode=OneWay, Source={StaticResource items}}"
          ItemTemplate="{StaticResource NavigationItemTemplate}"
          ScrollViewer.VerticalScrollBarVisibility="Visible">

</ListView>

<DataTemplate x:Key="NavigationItemTemplate">    
        <Grid Height="75">
            <Grid.RowDefinitions>
                <RowDefinition Height="1.6*" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Rectangle Fill="White" />
            <Rectangle Fill="{StaticResource SSEGreenBrush}"
                       Grid.Row="1" />
            <Border BorderThickness="2"
                    BorderBrush="{StaticResource SSEGreenBrush}"
                    Grid.RowSpan="2" />
            <TextBlock x:Name="textTitle"
                       Text="{Binding ClientName}"
                       Style="{StaticResource TitleTextStyle}"
                       Foreground="{StaticResource SSEBlueBrush}"
                       Margin="10,5,5,5" />
            <StackPanel Orientation="Horizontal"
                        Grid.Row="1"
                        HorizontalAlignment="Stretch">
                <TextBlock Text="Last Edit :"
                           Style="{StaticResource SubtitleTextStyle}"
                           Foreground="{StaticResource SSEBlueBrush}"
                           Margin="3,0,0,3"
                           VerticalAlignment="Center" />
                <TextBlock Text="SurveyDate"
                           Style="{StaticResource SubtitleTextStyle}"
                           Foreground="{StaticResource SSEBlueBrush}"
                           Margin="3,0,0,3"
                           VerticalAlignment="Center" />
            </StackPanel>
        </Grid>
    </DataTemplate>

列表视图位于固定宽度为 240 的网格列中。

当视图显示时,ListViewItems 不会拉伸到 ListView 的宽度。我已经尝试设置许多属性,包括 Horizo​​ntalContentAlignment,但我似乎无法让 ListViewItem 伸展!

有人可以帮忙吗?

提前致谢。

我正在使用 Visual Studio 2012、C# 4.5 并开发 Windows 商店应用程序。

4

2 回答 2

205

尝试将以下内容添加到您的 ListView 定义中

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</ListView.ItemContainerStyle>
于 2013-02-25T15:21:34.927 回答
1

最简单的事情就是添加 HorizontalContentAlignment="Stretch"到 ListView。通常不需要更多的东西。

于 2021-05-23T14:56:54.377 回答