2016-06-25 9 views
1

Ich möchte eine ListView in UWP 10 horizontal strecken. Ich setze auch die HorizontalContentAlignment auf Stretch. Es funktioniert irgendwie, aber es ist nicht genau das Ergebnis, das ich wollte.ListViewItem Horizontale Strechting UWP 10

Ich habe den ListView-Hintergrund auf Aqua gesetzt, so konnte man sehen, dass sich der ListView selbst auf 100% ausdehnt. Der Inhalt streckt sich auch, aber ich habe diesen Platz links und rechts.

Also meine Frage ist: Wie kann ich diese "Ränder" links und rechts entfernen? Hier

ist das Ergebnis:

Screenshot

Und hier ist die XAML:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <AutoSuggestBox x:Name="SalonSearchBox" 
         Grid.Row="0" 
         QueryIcon="Find" 
         PlaceholderText="Suchen..." 
         Margin="8" /> 
     <ListView x:Name="SalonsListView" 
        Grid.Row="1" 
        Background="Aqua" 
        ItemsSource="{x:Bind ViewModel.Salons, Mode=OneWay}" 
        HorizontalAlignment="Stretch" 
        Margin="0"> 
      <ListView.ItemContainerStyle> 
       <Style TargetType="ListViewItem"> 
        <Setter Property="HorizontalContentAlignment" 
          Value="Stretch" /> 
       </Style> 
      </ListView.ItemContainerStyle> 
      <ListView.ItemTemplate> 
       <DataTemplate x:DataType="salon:Salon"> 
        <Grid Height="110" 
          Padding="8"> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="*" /> 
          <RowDefinition Height="Auto" /> 
          <RowDefinition Height="Auto" /> 
          <RowDefinition Height="Auto" /> 
         </Grid.RowDefinitions> 
         <Grid.Background> 
          <ImageBrush ImageSource="{x:Bind ListingImage}" 
             Stretch="UniformToFill" /> 
         </Grid.Background> 

         <TextBlock x:Name="TitleTextBlock" 
            Grid.Row="1" 
            Text="{x:Bind Name}" 
            FontSize="20" 
            Foreground="White" 
            FontWeight="SemiBold" /> 
         <TextBlock x:Name="LocationTextBlock" 
            Grid.Row="2" 
            Foreground="White" 
            FontWeight="SemiLight"> 
          <Run Text="{x:Bind Place.PLZ}" /> 
          <Run Text="{x:Bind Place.Address}" /> 
         </TextBlock> 
         <TextBlock x:Name="DescriptionTextBlock" 
            FontWeight="SemiLight" 
            Grid.Row="3" 
            x:Phase="1" 
            Text="{x:Bind Info}" 
            Foreground="Gray" /> 
        </Grid> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </Grid> 
</Grid> 

Antwort

1

Sie benötigen ItemContainerStyle der Polsterung und Marge zu ändern:

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

Sie habe auch definiert Grid Polsterung auf 8, was wird in Aqua-Hintergrund um Ihr Element führen.

+0

Vielen Dank !! Ohne die Auffüllung des Rasters würde mein Text an den Rändern haften bleiben. Es funktioniert auch mit dem Auffüllen des Rasters. – DanyX23