这个标题说明了一切。将超过9600个字符的字符串粘贴到设置为TextBox的TextWrapping设置为TextWrapping.NoWrap的字符串中,然后将其拆分为9600个字符行,将它们包装起来并垂直增长。这有什么好的理由吗?有什么办法可以防止吗?
请注意,“您不应该使用TextBox对字符串那么长”是一个有效的意见,但没有回答这个问题。:)
要演示这一点,XAML不需要比以下更复杂:
<Window x:Class="TestApp.TestWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="TestWindow" Height="300" Width="300">
    <TextBox TextWrapping="NoWrap" HorizontalAlignment="Left" VerticalAlignment="Top" />
</Window>发布于 2017-09-20 12:31:02
我的解决方案是将MaxLines="1"添加到TextBox中。这并不能阻止WPF将非常长的字符串拆分成多行,但当这种情况发生时,它确实会阻止控件垂直增长,这意味着用户不能通过将“战争与和平”的全文粘贴到搜索框中来破坏我的布局。:)
https://stackoverflow.com/questions/46062678
复制相似问题