2016-07-25 8 views
0

haben auf diese ein wenig Forschung zu machen, aber nicht in der Lage, es zu lösen:TextBlock- Verpackung auf Grid (UWP)

Ich habe einen GridView, hier ist der gesamte Code für sie:

<GridView Name="NewsGrid" IsItemClickEnabled="True" ItemClick="NewsGrid_ItemClick"> 
    <GridView.ItemTemplate> 
      <DataTemplate x:DataType="data:News"> 
       <Grid Height="Auto" Margin="0" Width="440"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="*"/> 
        </Grid.RowDefinitions> 
        <Image Source="{x:Bind Image}" 
         HorizontalAlignment="Center" 
         Stretch="UniformToFill" 
         Margin="5" 
         Height="247" 
         Width="440"/> 
        <TextBlock Text="{x:Bind Body}" 
          Foreground="SteelBlue" 
          Grid.Row="1" 
          Height="Auto" 
          HorizontalAlignment="Stretch" 
          Width="440" 
          Margin="5 0 5 0"/> 
       </Grid> 
      </DataTemplate> 
    </GridView.ItemTemplate> 
</GridView> 

Was ich versuche zu erreichen, ist für die TextBlock zu wickeln, wenn die Länge des Textes über 440 Pixel geht. Der obige Code erreicht das nicht. Um Ihnen einige Visuals zu geben, hier ist das Ergebnis aus dem Code oben:

enter image description here

Damit letzte Wort „Pass“ und fragen Sie sehen es hält nur geht. Ich möchte nur, dass es darunter in eine neue Zeile einbricht. Wie kann ich das erreichen? Ich habe auch versucht, meine Grid für eine StackPanel zu tauschen, aber das Ergebnis ist das gleiche.

Update 1 Added TextWrapping="Wrap" mein TextBlock, visuelles Ergebnis ist folgende:

enter image description here

Das letzte Wort mehr nicht angezeigt wird, nicht einmal in der gleichen Zeile.

Antwort

3

Fügen Sie TextWrapping="Wrap" zu Ihrer TextBlock hinzu.

Auch! Für die Definitionen der Zeilen muss das passieren:

<Grid.RowDefinitions> 
    <RowDefinition Height="*"/> 
    <RowDefinition Height="Auto"/> 
</Grid.RowDefinitions> 
+0

Danke! Ich habe das versucht, siehe Frageänderungen, bitte. – CStruggle

+0

können Sie sehen, dass "Pass" nicht mehr auf der Linie angezeigt wird, was bedeutet, dass die Umwicklung funktioniert hat. Das Problem ist, dass Sie nicht genügend vertikalen Platz auf Ihrem TextBlock haben. – AlexDrenea

+0

Richtig, aber nicht 'Height =" Auto "' das lösen? Ist das Eltern-Grid das Problem? Weil ich auch 'Height =" Auto "' für das übergeordnete 'Grid' habe. – CStruggle

Verwandte Themen