如何在TextBlock中换行文本?

4
我是Windows Phone7开发新手,遇到了一个小问题。
我的界面中有一个文本块(Label),我在运行时使用该标签来显示动态数据。问题在于当文本太长(超过屏幕宽度)时,它只显示一半的数据(适合宽度的内容)。可以多行显示,但我想显示全部内容。我尝试使用Textblock(Label)属性进行测试,但没有找到有效的方法。
请问有人能帮帮我吗?(我正在使用Visual Studio 2010)。谢谢
以下是XAML:
<Grid x:Name="LayoutRoot" Height="98">
    <Ellipse Height="25" HorizontalAlignment="Left" Name="ellipse1" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="46" Margin="6,13,0,0" Fill="#FFDB4C4C" />
    <TextBlock Height="30" HorizontalAlignment="Left" Margin="66,10,0,0" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top" Width="402" AllowDrop="False" TextWrapping="NoWrap" UseLayoutRounding="True" DataContext="{Binding}" />
    <TextBlock Height="30" HorizontalAlignment="Left" Margin="66,44,0,0" Name="textBlock2" Text="TextBlock" VerticalAlignment="Top" Width="402" />
</Grid>
1个回答

13

如果有足够的垂直空间,将属性TextWrapping = "Wrap"设置为可能解决您的问题。

编辑

根据您想要的调整大小行为,这应该可以工作:

<Grid x:Name="LayoutRoot">
    <Grid.RowDefinitions>
        <RowDefinition Height="auto" MinHeight="40" />
        <RowDefinition Height="auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="60" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Ellipse Margin="5" Stroke="Black" StrokeThickness="1" Fill="#FFDB4C4C" />
    <TextBlock HorizontalAlignment="Left" Margin="5" Name="textBlock1"  VerticalAlignment="Top" TextWrapping="Wrap" UseLayoutRounding="True" Grid.Column="1" Text="sdfsdf sdf sdf sdf sd f sdf" />
    <TextBlock  HorizontalAlignment="Left" Margin="5" Name="textBlock2" VerticalAlignment="Top" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Text="sdfsdf sdf sdf sdf sd f sdf" />
</Grid>

嗨,Erno,我尝试了那个属性。它没有起作用。当我看到你的帖子时,我再次进行了测试。不,它只是将适合屏幕宽度的内容换行。它仍然无法显示整个内容。 - JibW
请发布XAML代码和可能的屏幕截图,展示当前的情况以及预期的结果。我不太确定我是否理解你的意思。 - Emond
是的,它可以工作。很抱歉,必须增加TextBlock的高度。是否有任何方法可以自动获取正确的高度?因为我们不确定数据是否足够2行、3行或多少行。 - JibW
显示XAML! 如果将TextBlock放在一个可以拉伸其内容(Grid)或滚动其内容(ScrollViewer)的容器中,那么就没问题了。 - Emond
1
我在我的回答中添加了一个例子。 - Emond
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接