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の幅まで拡大されません。Horizo​​ntalContentAlignmentを含む多数のプロパティを設定しようとしましたが、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パスエラー: 'Width'プロパティがProject.CustomElement、Project.WindowsPhone、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null 'に見つかりません。BindingExpression:Path = 'Width' DataItem = Project.CustomElement、Project.WindowsPhone、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null '; ターゲット要素は 'Windows.UI.Xaml.Controls.Grid'(Name = 'null'); ターゲットプロパティは「幅」(タイプ「ダブル」)
Black Cid 2015

2
たとえば、グリッドのように自動的に全幅に拡大されないDataTemplateの要素では、Horizo​​ntalAlignment = "Stretch"
tipa

また、Horizo​​ntalAlignment = "Left"を設定した場合、これを機能させることができなかったというコメントを追加したいのですが、削除すると、魅力のように機能しました。
アンドレアスForslöw
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.