多行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"

您也可能希望启用AcceptsTabAcceptsTab

另外,如果像我一样,直接在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"/>