【发布时间】:2016-07-25 10:30:20
【问题描述】:
对此进行了一些研究,但未能解决:
我有一个GridView,这里是它的所有代码:
<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>
如果文本长度超过 440 像素,我想要完成的是让 TextBlock 换行。上面的代码没有做到这一点。为了给你一些视觉效果,下面是上面代码的结果:
所以最后一个词是“通过”并询问您是否可以看到它一直在继续。我只是想让它在下面分成新的一行。我怎样才能做到这一点?我也尝试将我的Grid 换成StackPanel,但结果是一样的。
更新 1
将TextWrapping="Wrap" 添加到我的TextBlock,视觉结果是这样的:
最后一个词不再出现,甚至不在同一行。
【问题讨论】: