多行WPF文本框
我正在开发一个应用程序发送一些反馈。
基本上我试图做一个TextBox
的评论,但我已经习惯了WinForms MultiLine=true
。 我已经把MinLines
设置为3,这是到达那里,但最好是我想,如果用户能够键入在这个块的任何地方 – 就像按回车键和点做点事情。 例如:
- Item 1 blah - Item 2 blahlb lahbvl d
但目前,文字都保持在一条线上。
- Item 1 blah - Item 2 blahb blahb blah
这些评论将帮助填写发送的电子邮件的正文。 如果我把这个string放进电子邮件主体string中时不能轻易保持相同的格式(这样看起来就像在键入时发送一样)。
我可以达到我所追求的目标吗?还是必须将所有文本放在一行上?
在TextBox上启用TextWrapping="Wrap"
和AcceptsReturn="True"
。
您也可能希望启用AcceptsTab
和AcceptsTab
。
另外,如果像我一样,直接在XAML中添加控件(不使用编辑器),即使在设置了这两个属性之后,也可能会感到沮丧,无法将其拉伸到可用的高度。
要使TextBox拉伸,请设置Height="Auto"
。
更新:
回想起来,我认为这一定是必要的,这要归功于TextBoxes的默认样式,它指定了应用程序资源中应用程序的某些标准的高度。 这可能是值得的检查这是否帮助你。
与@Andre Luus相反,设置Height="Auto"
不会使TextBox
拉伸。 我find的解决scheme是设置VerticalAlignment="Stretch"
这里是示例XAML
,它将允许TextBox
接受多行文本,并使用它自己的滚动条:
<TextBox Height="200" Width="500" TextWrapping="Wrap" AcceptsReturn="True" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"/>