我正在尋找打印C#/ WPF程序用戶輸入的數據的方法。 問題是與PDF相比較的屏幕的佈局差異。用不同的佈局WPF到PDF
程序佈局是爲不同於pdf文件佈局(portret視圖)的顯示(橫向視圖)而製作的。
這裏是網格的與標籤,文本框,單選按鈕和複選框一個PRINTSCREEN:
,因爲它是在應用程序中所示。 所有標籤,文本框,單選按鈕和複選框都繪製在網格上。
這裏是pdf如何看起來像一個打印屏幕。
所以我不只是在尋找一種方式來複制電網PDF而且還改變佈局。
我正在尋找打印C#/ WPF程序用戶輸入的數據的方法。 問題是與PDF相比較的屏幕的佈局差異。用不同的佈局WPF到PDF
程序佈局是爲不同於pdf文件佈局(portret視圖)的顯示(橫向視圖)而製作的。
這裏是網格的與標籤,文本框,單選按鈕和複選框一個PRINTSCREEN:
,因爲它是在應用程序中所示。 所有標籤,文本框,單選按鈕和複選框都繪製在網格上。
這裏是pdf如何看起來像一個打印屏幕。
所以我不只是在尋找一種方式來複制電網PDF而且還改變佈局。
有兩種方法:
返工你的用戶界面,使其更流暢,並可以在(幾乎)任何決議或屏幕比例工作,這樣你就可以只需直接渲染視圖。如果您使用WrapPanel(例如),那麼控件將自動佈局以適應屏幕截圖。
如果這是不可能的,你可以創建一個「打印視圖」,它將以縱向模式而不是橫向模式佈置控件。這將綁定到與常規視圖相同的視圖模型,因此所有數據都是正確的。然後您可以在「打印」命令中渲染該視圖。該視圖的定義方式與「正常」視圖相同,但打印時使用該視圖而不是「正常」視圖。
如果你把每個問題和答案(S)在網格或堆疊面板,那麼你可以鋪陳的問題是這樣的:
<WrapPanel Orientation="Vertical">
<StackPanel x:Name="Question1">
... Controls for question 1
</StackPanel>
<StackPanel x:Name="Question2">
... Controls for question 2
</StackPanel>
...
</WrapPanel>
這將出打好頁列,高度是可用的垂直空間。
如果您更改爲「水平」,您將得到按行排列的問題。
親愛的ChrisF,我是WPF的新手,所以我真的可以使用你的幫助。你能否給我一個小例子,說明如何創建「打印視圖」,該視圖將以縱向模式佈置的控件與常規視圖綁定,以及如何在「打印命令」中呈現該視圖? – MathiasF
@MathiasF給你的實際頁面,我會去'包裝面板'。這樣視圖會在用打印尺寸進行渲染時自行排列。 – ChrisF
我該怎麼做?我是否應該將每個問題的答案放在wrappanel中,並將所有這些wrappanels放在antoher wrappanel中?如何使用wrappanel保留問題之間的空白?如何在使用wrappanel的問題和答案之前保留問題編號? – MathiasF