2013-02-25 19 views
75

Attualmente sto progettando un'applicazione di Windows 8 store utilizzando XAML ma ho un problema di ridimensionamento minore. Ho un ListView con un DataTemple.ListViewItem non si estende alla larghezza di un ListView

Il codice per il mio ListView & DataTemplate sono di seguito:

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

Il listview è all'interno di una colonna di griglia con una larghezza fissa di 240.

Quando viene visualizzata la vista le ListViewItems non tirare alla larghezza del ListView. Ho provato a impostare numerose proprietà tra cui HorizontalContentAlignment, ma non riesco a far sembrare allungato ListViewItem!

Qualcuno può aiutare?

Grazie in anticipo.

Utilizzo Visual Studio 2012, C# 4.5 e sviluppo di un'app store di Windows.

risposta

186

Prova ad aggiungere il seguente alla definizione di ListView

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

Errore: errore di percorso BindingExpression: proprietà 'width' non trovato sul 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 '; l'elemento di destinazione è 'Windows.UI.Xaml.Controls.Grid' (Name = 'null'); la proprietà target è "Larghezza" (digita "Double") –

+0

Aiutami molto. Grazie al mio voto +1 – imdadhusen

+0

Ha funzionato per me. molte grazie. +1 – arundevma