我有一个带有RichTextBox的WPF。 de RichTextBox内的文本不适合该框,不会显示。 我希望文本在到达行尾时返回到新行。
在StackOverflow或this question上有很多与this blog相关的问题,但我很惊讶我无法应用它们: 文字环绕似乎是原生的 - 但它不适合我。 还有像myRTBox.WordWrap不可用的函数吗?
是否有不同类型的RichTextBox(我使用System.Windows.Controls.RichTextBox)?如果不是,你有强迫包装的想法吗?
public partial class UserControl1 : System.Windows.Controls.UserControl
{
public UserControl1()
{
InitializeComponent();
RTBox.Document.Blocks.Clear();
RTBox.AppendText("a long message to test how it will be displayed in a rich text box");
...
和xaml
<RichTextBox x:Name="RTBox" IsReadOnly="True " HorizontalAlignment="Left" Height="65" Margin="12,16,0,0" VerticalAlignment="Top" Width="168" Background="#AAEA900F" HorizontalScrollBarVisibility="Disabled">
<FlowDocument Language="en-us">
<Paragraph>
<Run Text="Test to display a text larger than a single line"/>
</Paragraph>
</FlowDocument>
</RichTextBox>
答案 0 :(得分:2)
您使用的是RichTextBox for WPF而不是standard one for WinForms 正确的命名空间是 System.Windows.Forms.RichTextBox
此示例using LinqPad向您显示WordWrap可用
void Main()
{
Form f = new Form();
System.Windows.Forms.RichTextBox RTBox = new System.Windows.Forms.RichTextBox();
RTBox.Clear();
RTBox.WordWrap = true;
RTBox.AppendText("a long message to test how it will be displayed in a rich text box");
f.Controls.Add(RTBox);
f.Show();
}
答案 1 :(得分:1)
试试这个:
RTBox.Multiline = true;