我试图在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"
失败了。
我很高兴听到有关如何使其工作的任何想法。
答案 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>