2012-08-08 80 views
0

我是WPF中的新手,如果出現錯誤請協作。在這裏我需要來自專家的一些想法。如何將內容移動到WPF中的下一頁表格

我在一個應用程序的工作中,我有填充字段出現在form.On相同的形式我也有一個打印選項後顯示WPF窗體上的一些內容。

入住這image.This是我在這裏的形式參與了紅塊在runtime.When生成我點擊打印按鈕只顯示在紙張上的可見部分,並跳過剩餘部分。

WPF Form

問題: 如何能打動我這下滾動到下一個頁面時,我上打印單擊窗體的剩餘部分。

例如給定的圖像中,我們可以看到只有2靶心完全和明年2 partially.How我可以將此剩餘部分轉移到下一個頁面僅當我在打印點擊。

回答

0

請按照this link.This是我在網上搜索world.Using這個基本的細節,你可以做任何事情與打印在WPF

2

答案很簡單:不要依賴你的窗口做印刷的,而是建立可視那麼你要打印。
例如,您必須有一個動態創建圓圈等功能,然後將它們添加到面板。你可能要做的是打印面板。
或者如果您願意,您可以動態構建一個新窗口,您可以在其中放置想要打印的所有數據,然後打印該窗口。這種方法的優點是它對內容更靈活(如果你想要一個頁眉/頁腳),並且你可以很容易地觀看內容進行調試。請注意,即使窗口內容是動態的,您也可以有一個打印基礎窗口,避免您使用代碼執行太多xaml(expl:您可能會將TextBox綁定到您在Print Window的構造函數中設置的PrintTitle屬性...)。
請注意,未在屏幕上呈現的視覺效果將無法打印。可以肯定,以避免常見的問題,要看看這篇文章,從這個偉大的網站,打開代碼,在這裏:
http://www.switchonthecode.com/tutorials/printing-in-wpf

編輯(回覆在評論的問題):)如果
1你有固定數量的公牛眼睛,只需爲該數字製作一個窗口並打印它,這樣就更容易了。
2)要將視覺效果放入頁面而不是行中,必須依靠頁面寬度/高度。重要的是你的控件的大小和頁面的大小。在示例中,它們構建(在OnRender中)將LineHeight,LineWidth作爲大小的控件。做同樣的事情:嘗試儘可能多的控制線,如 (控制高度+邊距)* NumberOfControlPerPage <頁面高度。
然後,您必須更改OnRender才能渲染控件,而不是使用矩形+文本製作的行。在Horizo​​ntal StackPanels中將你的控件兩兩包裝,然後將這些StackPanel打包到一個垂直的StackPanel中,然後渲染。您必須跟蹤最後呈現控件的每個頁面,然後在以下控件中繼續呈現。

+0

感謝文森特這個link.I正在尋找在HTTP之後得到了基本的: //www.switchonthecode.com/tutorials/wpf-printing-part-2-pagination。 你能告訴我如何添加usercontrol而不是行嗎? – Sunny 2012-08-09 06:23:02

+0

回覆ihn編輯。 – GameAlchemist 2012-08-09 11:10:58

+0

感謝@Vincent的幫助。最後我得到了答案。再次感謝 – Sunny 2012-08-09 11:52:20

相關問題