2010-11-02 80 views
2

我有一個生成相當長的FlowDocument的應用程序。它使用「自定義」分頁符在打印時在每個頁面上打印頁眉和頁腳。另外,每個頁面包含一個或多個「副標題」。WPF FlowDocument目錄

我想要它也會自動爲這個文檔創建一個目錄,顯示每個頁面上出現的小標題。

這是麻煩。我不知道在每個頁面上出現什麼副標題,直到我打印文檔並通過分頁器,該分頁器將文檔分解爲頁面。但到那時,所有內容都被縮減爲視覺效果,並且似乎不再包含有關我放入文檔中的實際對象的任何相關信息(因此我無法讀取任何標記屬性甚至內容)。

有沒有人有任何聰明的方法,我可以確定在打印期間/之前什麼項目出現在每個頁面上?

回答

0

我這樣做的方式是用我的helper class創建一個FixedDocument而不是FlowDocument。爲TOC留出空間,或者您可以在之後重新流動整個事情。在添加每個項目時,我知道它處於哪個頁面,因此我可以在之後生成TOC。 FixedDocuments非常容易生成和打印。