WPF:修改RTB中Word文档的行间距

时间:2016-11-15 12:34:43

标签: wpf line spacing

我正在为用户提供将多种文本文件格式加载到RichTextBox中的可能性。

此外我不想要行间距,所以我在XAML中添加了一个样式:

<RichTextBox .....>
    <RichTextBox.Resources>
        <Style TargetType="{x:Type Paragraph}">
            <Setter Property="Margin" Value="0" />
        </Style>
    </RichTextBox.Resources>
</RichTextBox>

这适用于除Word文档之外的所有文档。 Word文档的行间距保留在我的RichTextBox中。我尝试了在网络上找到的以下代码行,但它使文本消失在RichTextBox的顶部,并且还混合到下一行:

rtb2Document.SetValue(Paragraph.LineStackingStrategyProperty, LineStackingStrategy.BlockLineHeight);
rtb2Document.SetValue(Paragraph.LineHeightProperty, 10.0);

我有什么想法可以消除高行距的MS Word文档的行间距?

谢谢!

1 个答案:

答案 0 :(得分:0)

我通过修改每个Block来解决它。如果有更好的解决方案,请不要犹豫,让我知道。这是我的:

foreach (Block blCurrentBlock in rtb2Document.Document.Blocks)
{
    Paragraph p = blCurrentBlock as Paragraph;
    p.Margin = new Thickness(0);
}