2014-03-13 100 views
0

我正在創建一個WPF應用程序。我使用MS Visual Studio 2010,C#和MVVM。如何從WPF MVVM中的Usercontrol創建PDF

在用戶控件上,我有一個gridview。該gridview填充來自另一個類的數據,通過綁定和項目源等...沒有問題。我看到數據和一切。我也有一些標籤和文本框圍繞usercontrol。這些將被用戶用來填寫隨機數據。東西像姓名,地址等。你可以稱之爲訂單。 gridview中的產品列表,具體細節如下。

一旦用戶點擊確定,應用程序現在應該創建整個用戶控件的PDF。我怎麼做?

我可以導出一個gridview到Excel就好了。但現在我想基本上重新創建一個PDF文件的用戶控件。 我已經在線閱讀,我可以創建一個usercontrol的圖像並將該圖像轉換爲PDF。這會有幫助嗎?我從截圖中得知,這些文本框仍然有圍繞它們的邊框等等。

但現在,如何使用MVVM方法從usercontrol創建PDF? 還有一個問題。如果我可以使用保存到對話框(用戶可以在其中選擇要保存文件的位置),我可以在字符串中獲取該位置,以便用它在單獨的usercontrol的報告查看器中打開PDF文檔?

如果需要編碼,圖像或其他任何東西,請發表評論,我將編輯與這些更改相關的問題。

+0

您希望能夠將控件打印爲pdf,但可以選擇刪除控件邊框,陰影等? –

+0

@MarkGreen是的。就像usercontrol有一個背景顏色的面板,我想隱藏一些按鈕,除了文本框中的文本外,文本框可以被設置爲不可見。所以它看起來更像是一個打印的表單,而不是用戶控件的截圖,在這裏你可以清楚地看到文本框等等。 –

回答

0

從UserControl生成PDF在C#中並不重要。我強烈建議您找到第三方工具來創建報告設計並使用它來導出爲PDF。

如果您決定不站在巨人的肩膀上,並希望推出自己的,那麼你就需要實現以下

  • 創建一個單獨的控制,可以使用您的視圖模型,因爲它是DataContext的,但其中控件着色並用於打印
  • 使用System.Windows.Xps命名空間庫將控件導出到XPS。
  • 使用第三方工具將XPS轉換爲PDF。

這是一種痛苦,我知道,但我看不到一條更簡單的路線。

+0

是的,我知道它的痛苦。我使用的是componentone,那些幫助也不大。他們也不會給你太多幫助。但如果涉及到它,我將不得不將數據發送到一個普通的用戶控件,保存並打印出來。加班。但必須完成。謝謝 –

相關問題