ListViewItem은 ListView의 너비로 늘어나지 않습니다.


81

현재 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의 너비로 늘어나지 않습니다. HorizontalContentAlignment를 포함하여 수많은 속성을 설정하려고 시도했지만 ListViewItem을 늘릴 수없는 것 같습니다!

아무도 도울 수 있습니까?

미리 감사드립니다.

Visual Studio 2012, C # 4.5를 사용하고 있으며 Windows 스토어 앱을 개발 중입니다.

답변:


197

ListView 정의에 다음을 추가하십시오.

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

1
오류 : BindingExpression 경로 오류 : Project.CustomElement, Project.WindowsPhone, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null '에서'Width '속성을 찾을 수 없습니다. BindingExpression : Path = 'Width'DataItem = Project.CustomElement, Project.WindowsPhone, 버전 = 1.0.0.0, Culture = neutral, PublicKeyToken = null '; 대상 요소는 'Windows.UI.Xaml.Controls.Grid'(Name = 'null'); 대상 속성은 'Width'( 'Double'유형)
Black Cid

2
예를 들어 Grid처럼 자동으로 전체 너비로 확장되지 않는 DataTemplate의 요소에 대해서는 HorizontalAlignment = "Stretch"
tipa

또한 HorizontalAlignment = "Left"를 설정해도 작동하지 않는다는 코멘트를 추가하고 싶지만, 제거하면 매력처럼 작동했습니다!
Andreas Forslöw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.