2013-02-25 25 views
75

Tôi hiện đang thiết kế một cửa sổ 8 cửa hàng ứng dụng bằng cách sử dụng XAML nhưng tôi có một vấn đề kích thước nhỏ. Tôi có một ListView với một DataTemple.ListViewItem sẽ không kéo dài đến độ rộng của một ListView

Mã cho ListView & DataTemplate của tôi là dưới đây:

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

Các listview là trong một cột lưới có chiều rộng cố định 240.

Khi xem sẽ được hiển thị các ListViewItems không căng với chiều rộng của ListView. Tôi đã thử thiết lập nhiều thuộc tính bao gồm các HorizontalContentAlignment nhưng tôi dường như không thể có được ListViewItem để kéo dài!

Ai đó có thể trợ giúp?

Xin cảm ơn trước.

Tôi đang sử dụng Visual studio 2012, C# 4.5 và phát triển ứng dụng cửa hàng Windows.

Trả lời

186

Hãy thử thêm dòng sau vào định nghĩa ListView bạn

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

Lỗi: BindingExpression lỗi đường dẫn: không tìm thấy bất động sản 'rộng' trên Project.CustomElement, Project.WindowsPhone, Version = 1.0.0.0, Culture = trung tính, PublicKeyToken = null '. BindingExpression: Đường dẫn = 'Chiều rộng' DataItem = Project.CustomElement, Project.WindowsPhone, Phiên bản = 1.0.0.0, Văn hóa = trung lập, PublicKeyToken = null '; phần tử đích là 'Windows.UI.Xaml.Controls.Grid' (Tên = 'null'); target property là 'Width' (loại 'Double') –

+0

Giúp tôi rất nhiều. Cảm ơn lá phiếu của tôi +1 – imdadhusen

+0

Nó làm việc cho tôi. cảm ơn rất nhiều. +1 – arundevma

Các vấn đề liên quan