2013-02-25 21 views
75

Obecnie projektuję aplikację sklepu Windows 8 za pomocą XAML, ale mam niewielki problem z wielkością. Mam ListView z DataTemple.ListViewItem nie będzie rozciągać się do szerokości ListView

Kod dla mojego ListView & DataTemplate są poniżej:

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

ListView jest w kolumnie siatki o stałej szerokości 240.

Gdy wyświetlany jest widok z ListViewItems nie rozciągają do szerokości ListView. Próbowałem ustawić wiele właściwości, w tym HorizontalContentAlignment, ale nie mogę uzyskać ListViewItem do rozciągnięcia!

Czy ktoś może pomóc?

Z góry dziękuję.

Używam Visual Studio 2012, C# 4.5 i rozwijam aplikację sklepu Windows.

Odpowiedz

186

spróbuj dodać następujące wpisy do definicji ListView

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

Error: Błąd ścieżki BindingExpression: własność 'width' nie znaleziono Project.CustomElement, Project.WindowsPhone, Version = 1.0.0.0, culture = neutralnym, TokenKluczaPublicznego = null ". BindingExpression: Path = 'Width' DataItem = Project.CustomElement, Project.WindowsPhone, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null '; elementem docelowym jest "Windows.UI.Xaml.Controls.Grid" (Name = 'null'); Właściwością target jest "Width" (wpisz "Double"). –

+0

Pomóż mi dużo. Dzięki mój głos +1 – imdadhusen

+0

To zadziałało dla mnie. wielkie dzięki. +1 – arundevma