wpf 如何通过编程调整流程文档中的段落间距

db2dz4w8  于 2023-05-23  发布在  其他
关注(0)|答案(3)|浏览(199)

我是一个C# WPF的初学者,我想通过编程制作一个只有几段的流程文档。问题是,有一个大的空间之间的pagraphs,我想调整它的最小值。
我通过使用Xml语句找到了一个解决方案,但我想通过编程来实现它:

<FlowDocument>
  <FlowDocument.Resources>
    <!-- This style is used to set the margins for all paragraphs in the FlowDocument to 0. -->
    <Style TargetType="{x:Type Paragraph}">
      <Setter Property="Margin" Value="0"/>
    </Style>
  </FlowDocument.Resources>

  <Paragraph>
    Spacing between paragraphs is caused by margins set on the paragraphs.  Two adjacent margins
    will "collapse" to the larger of the two margin widths, rather than doubling up.
  </Paragraph>

  <Paragraph>
    To eliminate extra spacing between two paragraphs, just set the paragraph margins to 0.
  </Paragraph>
</FlowDocument>

我该怎么做?.
谢谢你的帮助。

oxcyiej7

oxcyiej71#

试试这个:

Style style = new Style(typeof(Paragraph));
style.Setters.Add(new Setter(Block.MarginProperty, new Thickness(0)));
myFlowDocument.Resources.Add(typeof(Paragraph), style);
nwwlzxa7

nwwlzxa72#

不需要“编程”。FlowDocument上的PagePadding属性对我很有效:

<FlowDocument PagePadding="0">

MSDN definition for PagePadding
获取或设置一个值,该值指示页边界与页内容之间的填充间距的粗细。

wydwbb8l

wydwbb8l3#

我试过上面的答案,但这在一定程度上解决了我的问题。
我创建flowdocument对象并将其附加到flowdocument查看器。
所以我用了这个方法。在这里描述的但是使用代码。How to: Adjust Spacing Between Paragraphs

paragraph2.Margin = new Thickness(0);
       paragraph3.Margin = new Thickness(0);

相关问题