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:
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:
Das letzte Wort mehr nicht angezeigt wird, nicht einmal in der gleichen Zeile.
Danke! Ich habe das versucht, siehe Frageänderungen, bitte. – CStruggle
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
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