目前,我对wpf文本块有问题。似乎无法使文本多行显示,如果它不适合屏幕显示,那么它就会离开屏幕。我看到几个人建议把它放在ViewBox中,但这只会使字体缩小并且文本变得很小而无法阅读。

 <StackPanel Orientation="Vertical" Grid.Column="1" Margin="0,40,0,0">

        <Label Content="Name" Padding="0" FontSize="20"
               BorderBrush="{DynamicResource {x:Static SystemColors.ActiveBorderBrushKey}}"
               BorderThickness="0,0,0,2" />
        <TextBlock x:Name="TitleBlock" Text="{Binding Title}" FontSize="15" Margin="0,0,0,15" />
        <Label Content="Author" Padding="0" FontSize="20"
               BorderBrush="{DynamicResource {x:Static SystemColors.ActiveBorderBrushKey}}"
               BorderThickness="0,0,0,2" />
        <TextBlock x:Name="AuthorBlock" Text="Just Some Name " FontSize="15" Margin="0,0,0,15" />
        <Label Content="Date Published" Padding="0" FontSize="20"
               BorderBrush="{DynamicResource {x:Static SystemColors.ActiveBorderBrushKey}}"
               BorderThickness="0,0,0,2" />
        <TextBlock x:Name="DateBlock" Text="{Binding ReleaseDate}" FontSize="15" Margin="0,0,0,15" />
        <Label Content="Summary" Padding="0" FontSize="20"
               BorderBrush="{DynamicResource {x:Static SystemColors.ActiveBorderBrushKey}}"
               BorderThickness="0,0,0,2" />
            <TextBlock x:Name="SummaryBox" Text="{Binding Summary}"  FontSize="15" Margin="0,0,0,15" />

    </StackPanel>


我尝试使用网格代替StackPanel,但仍然不能解决问题。

简而言之,我的问题是如何使文本块中的文本在不适合屏幕的情况下可以多行显示?

最佳答案

只需根据需要将TextWrappingTextBlock属性设置为WrapWrapWithOverflow即可包装元素的内容

<TextBlock Text="Long Text..." TextWrapping="Wrap" />

或将元素放入WrapPanel中以将元素包装在容器中

<WrapPanel>
    <TextBlock>Long Text 1</TextBlock>
    <TextBlock>Long Text 2</TextBlock>
</WrapPanel>

关于c# - WPF Textblock不能多行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43477743/

10-13 07:30