原文:
wpf中xps文件合併功能實現
如果要是直接先開啟乙個xps檔案,用新檔案去寫fixeddocument,或者documentsequence ,新增到新的檔案中的話,會報錯,提示,
「system.windows.xps.xpspackagingexception」型別的未經處理的異常在 reachframework.dll 中發生其他資訊: package 已經有根 documentsequence 或 fixeddocument。「
」system.invalidoperationexception」型別的未經處理的異常在 presentationframework.dll 中發生其他資訊: 指定的元素已經是另乙個元素的邏輯子元素。請先將其斷開連線。「
通過研究微軟的乙個例子,終於搞定:
如果您技術超強,可以直接去看微軟的例子,那個上面定義了5個類,有預覽、顯示、檔案拖動,非同步讀取等等,非常的全的確是乙個好例子,也比較適合於學習如何定義類,但是很容易被裡面的東西給繞暈了,我比照的這個例子自己寫了乙個簡單的合併檔案的函式,可以比較直觀的了解xps的結構,複製的情況。
上**:
1private
void button_click(object
sender, routedeventargs e)26
7//完全不使用類,函式方式
8public
void
mergedocument()936
37public documentreference addpage(string
filename)
3860}61
newdocref.setdocument(newfd);
62xpsdocument.close();
63return
newdocref;
64 }
在這個例子中,xps文件是通過頁面的方式直接讀取了以後複製的。
xps文件真是乙個好東西,我個人認為,我們完全可以將xps文件做成乙個簡單的報表列印工具,
尤其適合哪種使用者要求格式嚴格、資料專案比較多,列印要求不能有鋸齒的**列印(計算不是他的強項)。
wpf採用Xps實現文件顯示 套打功能
近期的乙個專案需對資料進行套打,使用者要求現場不允許安裝office 頁面預覽顯示必須要與文件完全一致,xps文件來對資料進行處理。wpf的documentview 控制項可以直接將資料進行顯示,xps也是一種開放式的文件,如果我們能夠替換裡面的標籤就最終實現了我們想要的效果。推薦兩篇關於xps的文...
WPF實現拖拽功能
兩個content控制項之間實現拖拽功能,在乙個控制項中啟動拖拽操作,在另乙個控制項中處理事件,如下,在兩個listview之間拖拽 在啟動拖拽控制項的mousemove事件裡啟動拖拽 private void listview1 mousemove object sender,mouseevent...
WPF 實現換膚功能
將所有控制項的基本樣式匯集到乙個資源字典中,構成介面的基本樣式檔案,然後進行不同顏色 的定製。即在新的 資源字典檔案中引入基本樣式檔案,然後使用資源繼承,並且只設定控制項的顏色屬性等,形成乙個 檔案。注意 在設定不同 檔案時,不同控制項的樣式名字必須固定,只改變其顏色就能形成新的 因為在介面xaml...