UWP:在文本框中包装文本不起作用

时间:2018-07-31 13:43:41

标签: c# wpf xaml uwp

我试图在textBox上包装文本,但没有成功。

<Grid Margin="0,0,0,0" BorderThickness="1" BorderBrush="Gray">
     <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto" >
          <TextBox x:Name="Details" IsReadOnly="True" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Stretch" BorderThickness="0" Height="500" />
     </ScrollViewer>
</Grid>

如果我的一行很长而没有\n,那么我的字符串很长,带有水平滚动条。但是据我了解TextWrapping="Wrap"应该删掉这个字符串。

我看到了this的答案,但这不适合我,因为我可以使用不同的文本框宽度。

我也尝试使用AcceptsReturn="True"失败了。

我很高兴听到有关如何使其工作的任何想法。

2 个答案:

答案 0 :(得分:1)

您没有定义任何宽度限制。这意味着您的TextBox理论上可以在宽度上无限扩展。

尝试在您的XAML代码中设置其width或在其maxwidth中设置

您也可以忘记ScrollViewer。它已经是TextBox的一部分,您可以将在ScrollViewer中设置的元素添加为TextBox的元素。

只需将其添加为ScrollViewer.VerticalScrollBarVisibility="Visible"

答案 1 :(得分:1)

我不确定这是否是您要寻找的东西,但是我想知道为什么您不禁用水平滚动。

    <ScrollViewer Grid.Column="2" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled">
        <TextBlock Text="TextusLongusTextusLongusTextusLongusTextusLongusTextusLongusTextusLongusTextusLongus" TextWrapping="Wrap" VerticalAlignment="Stretch"/>
    </ScrollViewer>