2012-03-03 53 views
2

我有一個應用程序(一種醫療治療類型),其中有超過500頁的頁面可以瀏覽並且在一些頁面中完成一些處理。我應該如何設計這樣的應用程序。如何設計一個超過500頁的wpf應用程序

目前我有一個主窗口,其中有一個框架,並在框架內部嵌入這些頁面,但是對於每個頁面,我必須創建大量的xaml頁面(我覺得它的龐大創建如此龐大的數量xaml頁面)。

任何人都可以提出更好的設計或方法。

+0

數據的格式是什麼?在一些頁面中進行了哪些處理? – Paparazzi 2012-03-03 15:12:39

回答

0

有一個專門爲此類大型複合應用程序設計的框架。

框架是PRISM 4,請參閱:http://compositewpf.codeplex.com/

棱鏡提供,旨在幫助您更輕鬆地設計和 構建豐富,靈活,易於維護的Windows Presentation 基金會(WPF)桌面指導應用程序,Silverlight Rich Internet 應用程序(RIA)和Windows Phone 7應用程序。使用設計模式,體現了重要的架構設計原則,如分離問題和鬆散耦合,Prism可幫助您使用鬆散耦合組件設計和構建應用程序,這些組件可以獨立演變,但可以輕鬆無縫地集成到組件中整體應用。這些類型的應用程序 被稱爲複合應用程序。

0

聽起來好像應用程序主要是文檔查看器。如果這是真的,那麼文檔可以存儲在某種標記中,並且對於包括處理的活動內容的某種特殊觸發器。

當顯示頁面時,應用程序將處理標記並將其轉換爲WPF顯示格式,當檢測到活動處理需求時,程序可以插入專門的用戶控件或使用其他系統與頁面進行交互。

0

從@Doug處獲得提示,看起來您正在尋找文檔查看器。在這種情況下,我認爲你真正想要的只是一個「虛擬化文檔」,其中只有當前呈現的頁面被實例化(有點類似於虛擬化堆棧面板,這是ListBox使用的)。

近年來,我成爲MVVM設計模式的忠實粉絲。在你的情況下,我認爲在你的視圖模型中你應該有一個currentPage屬性(一個子視圖模型)和一個視圖(即XAML),它知道如何使用綁定渲染這個頁面 - 可能是一個數據模板。

當您在頁面之間移動時,您只需更改ViewModel中的currentPage屬性即可。一切都應該自動更新(一旦INotifyPropertyChanged正確實施)。如果渲染視圖太慢,請考慮添加緩存機制。

相關問題