如何获取RichEditBox的用户输入文本及多行文本输入替代方案
问题解答
一、获取RichEditBox的用户输入内容
你使用的是UWP/WinUI体系的RichEditBox控件,该控件的内容存储在Document属性中,需要通过ITextDocument接口的GetText方法提取内容,示例代码如下:
// 提取纯文本内容 jawabBox.Document.GetText(Windows.UI.Text.TextGetOptions.None, out string userInputText); // 变量userInputText即为用户输入的全部纯文本内容
如果需要提取带格式的RTF内容,调整参数即可:
// 提取RTF格式内容 jawabBox.Document.GetText(Windows.UI.Text.TextGetOptions.FormatRtf, out string rtfContent);
注意:RichEditBox没有直接对外暴露普通Text属性,不要尝试直接读取Text属性拿内容,必须通过Document属性操作。
二、其他支持多行输入的文本框方案
- UWP/WinUI平台原生方案
最常用的替代方案是使用TextBox控件,只需设置AcceptsReturn="True"即可支持多行纯文本输入,适合不需要富文本编辑能力的场景,读取内容直接取Text属性即可,用法更简单。示例XAML代码:
读取内容代码:<TextBox x:Name="multiLineTextBox" Grid.Row="0" AcceptsReturn="True" TextWrapping="Wrap" FontSize="21" FontWeight="SemiBold" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="#FFDBDBDB" Foreground="Black" CornerRadius="15" />string inputContent = multiLineTextBox.Text; - WPF平台方案
同样可以使用TextBox设置AcceptsReturn="True"和TextWrapping="Wrap"实现多行纯文本输入,也可以使用RichTextBox实现富文本多行输入。 - 跨平台开发方案
如果你用MAUI/UNO等跨平台框架,可以直接使用框架内置的Editor控件,默认就是多行输入模式,直接绑定Text属性即可读取内容,适配多端更方便。
内容的提问来源于stack exchange,提问作者Rose
相关产品推荐
相关产品推荐

