WinUI3中TextBox控件如何实现按分隔符换行显示?
WinUI3 TextBox 换行显示问题解决方法
输入字符串:WEATHERCHECK/It's raining heavily/Start of play delayed for 2 hours 43 mins,需求是将每个/替换为换行,但以下方法均未生效:
- 将
/替换为\n,无换行效果 - 将
/替换为\r\n,无换行效果 - 按
/拆分文本后拼接\r\n,代码如下:
string[] values = value.Split("/"); foreach(string value1 in values) { Commentary.Text += value1 + "\r\n"; }
- 使用
Environment.NewLine拼接换行,代码如下:
string[] values = value.Split("/"); string newLine = Environment.NewLine; foreach(string value1 in values) { Commentary.Text += value1 + newLine; }
原TextBox的XAML代码:
<StackPanel Orientation="Horizontal"> <TextBox Height="100" TextWrapping="Wrap" Width="500" x:Name="Commentary" BorderThickness="2" BorderBrush="Black" Foreground="Red" Background="AliceBlue" Text="Commentary" /> </StackPanel>
最终解决方案
在TextBox的XAML属性中添加AcceptsReturn="true",修改后的XAML代码:
<StackPanel Orientation="Horizontal"> <TextBox AcceptsReturn="true" Height="100" TextWrapping="Wrap" Width="500" x:Name="Commentary" BorderThickness="2" BorderBrush="Black" Foreground="Red" Background="AliceBlue" Text="Commentary" /> </StackPanel>
之后使用之前拼接\r\n的循环代码,即可成功实现换行显示。
内容的提问来源于stack exchange,提问作者VMi
相关产品推荐
相关产品推荐

