0
一直在一点上的这项研究,但一直没能解决这个问题:TextBlock的包装(UWP)
我有一个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>
我想要完成的是TextBlock
如果文本的长度超过440像素,就会打包。上面的代码没有完成。给你一些视觉效果,这里是从上面的代码的结果:
所以这最后一句话是“通行证”,并要求你可以看到它只是不断去。我只是想让它在下面闯入一条新线。我怎样才能做到这一点?我也尝试将我的Grid
换成StackPanel
,但结果是一样的。
更新1 新增TextWrapping="Wrap"
我TextBlock
,视觉效果是这样的:
最后一个字显示不出来了,甚至没有在同一条线上。
谢谢!我试过了,请参阅问题编辑。 – CStruggle
你可以看到“通行证”不再显示在线上,这意味着包裹工作。问题是你的TextBlock没有足够的垂直空间。 – AlexDrenea
对,但不'Height =“自动”解决?父母“网格”是问题吗?因为我的父'Grid'也有'Height =“Auto”'。 – CStruggle