【问题标题】:How can I wrap text in a TextBlock?如何在 TextBlock 中换行?
【发布时间】:2011-11-16 12:07:29
【问题描述】:

我是 windows phone7 开发的新手,有一个小问题。

我的界面中有一个文本块(标签),在运行时我使用该标签来显示动态数据。问题是当文本太长(超过屏幕宽度)时,它只显示一半的数据(只有适合宽度的内容)。多行没关系,但我想显示完整的内容。我测试了 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>

【问题讨论】:

    标签: c# visual-studio xaml windows-phone-7


    【解决方案1】:

    设置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,我尝试使用该属性。它没有用。当我看到你的帖子时,我再次测试。不,它只是包装适合屏幕宽度的内容。它仍然没有显示全部内容
    • 请张贴 xaml 以及可能发生的情况和应该发生的情况的屏幕截图。我不太确定我是否理解你。
    • 是的,它有效。我很抱歉。必须增加 TextBlock 的高度。有什么办法可以自动获得正确的高度。因为我们不确定数据是否足够 2 行 3 行或多少。
    • 显示 xaml!如果你把文本块放在一个可以拉伸其内容(Grid)或滚动其内容(ScrollViewer)的容器中,你应该没问题。
    • 我在答案中添加了一个示例。
    猜你喜欢
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多