2012-11-24 52 views
5

Tôi là người mới bắt đầu trong C# Wpf và tôi muốn tạo một tài liệu luồng với ít paragrah bằng cách lập trình. Vấn đề là có một không gian lớn giữa các đoạn văn và tôi muốn thay đổi kích thước nó ở mức tối thiểu.Cách điều chỉnh khoảng cách giữa đoạn trong tài liệu luồng theo lập trình

Tôi tìm thấy một giải pháp bằng cách sử dụng một tuyên bố Xml, nhưng tôi muốn làm cho nó bằng cách lập trình:

<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> 

Làm thế nào tôi có thể làm điều đó?.

thanx để được trợ giúp.

+0

Nhưng XAML đang lập trình. ??? – Jordan

Trả lời

2

Hãy thử điều này:

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

Cảm ơn bạn rất nhiều, đây là giải pháp. –

+0

@WalidA Vui lòng xem xét chấp nhận câu trả lời nếu câu trả lời giải quyết được sự cố của bạn. –

+1

Điều này không hiệu quả đối với tôi và cũng không đặt thuộc tính Ký quỹ trong mã (ví dụ: 'paragraph.Margin = new Thickness (0)'). Không có gì tôi làm dường như muốn giảm khoảng cách đoạn văn. – Jordan

1

Không "lập trình" là cần thiết. Các tài sản trên FlowDocumentPagePadding làm việc cho tôi:

<FlowDocument PagePadding="0"> 

MSDN definition for PagePadding:

Gets hoặc thiết lập một giá trị cho biết độ dày của không gian đệm giữa ranh giới của một trang và nội dung của trang.

Các vấn đề liên quan