【发布时间】:2013-10-27 12:59:17
【问题描述】:
我在表单上有一个 RichTextBox:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<RichTextBox x:Name="TextArea"/>
</Grid>
</Window>
在运行时,我使用以下代码添加带边框的段落:
Paragraph p1 = new Paragraph();
Inline hello = new Run("Hello") { FontSize = 14 };
Inline world = new Run("World") { FontSize = 20, Foreground = new SolidColorBrush(Colors.Red) };
Inline helloWorld = new Run(Environment.NewLine + "Hello World");
p1.Inlines.Add(hello);
p1.Inlines.Add(world);
p1.Inlines.Add(helloWorld);
p1.BorderThickness = new Thickness(1);
p1.BorderBrush = new SolidColorBrush(Colors.SkyBlue);
p1.Padding = new Thickness(2);
this.TextArea.Document.Blocks.Add(p1);
结果如下:
但我希望它是这样的:
是否有任何简单的方法可以将段落宽度(或外框大小)设置为等于其内容?
【问题讨论】:
-
我认为是Grid的错,把grid改成canvas,或者将RichTextBox Width属性设置为auto或者确定的大小。
-
尝试将
RichTextBox包含在StackPanel中? -
感谢您的想法,但更改 RichTextBox 的 Width 属性部分解决了我的问题。我想有许多不同内容的段落,以适当大小的边框为界
-
创建 Grid.Columns 和 Grid.Rows 并将高度/宽度设置为自动。
标签: c# wpf xaml richtextbox