ListViewItem won't stretch to the width of a ListView

╄→尐↘猪︶ㄣ 提交于 2019-11-26 08:01:36

问题


I\'m currently designing a windows 8 store app using XAML but I have a minor sizing issue. I have a ListView with a DataTemple.

The code for my ListView & DataTemplate are below:

<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>

The listview is within a grid column with a fixed width of 240.

When the view is displayed the ListViewItems don\'t stretch to the width of the ListView. I\'ve tried setting numerous properties including the HorizontalContentAlignment but I can\'t seem to get the ListViewItem to stretch!

Can anybody help?

Thanks in advance.

I\'m using Visual studio 2012, C# 4.5 and developing a Windows store app.


回答1:


Try adding the following to your ListView definition

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</ListView.ItemContainerStyle>


来源:https://stackoverflow.com/questions/15067309/listviewitem-wont-stretch-to-the-width-of-a-listview

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!