2013-02-19 25 views
0

我願意爲在全國範圍內收集學生關於工作經歷等信息的朋友編寫一個應用程序。我知道如何做到這一點是WinForms,我甚至可以將它寫入WPF。然而,我的問題是我想以比我想象的更適合的方式來做到這一點。調查風格應用程序的設計模式

目前我只是爲調查的不同頁面創建幾個不同的窗口。然後,當用戶點擊下一個/上一個時,它會關閉窗口並打開相應的窗口。所有信息都將存儲在所有窗口都可以訪問的全局類中。

我在想WPF我會爲不同的窗口創建所有的XAML並將它們作爲資源加載。我會遵循與我描述的WinForms類似的過程。

我真的想使用WPF,所以我可以接觸到它。我一直在學習設計模式,但這似乎並不適合這種情況 - 除了數據的單例外。如果你能指出正確的方向,提供意見,或任何其他建議,將不勝感激。

回答

0

更靈活的方法是使用數據(例如XML文件)定義調查結構。然後有一個單一的表單/頁面,可以根據定義該頁面的數據生成所需的控件。我實際上做了一些非常相似的事情,並且很好地發揮了作用(我使用數據庫來定義調查結構,但是有相同的想法)。

如果使用XML,它可以像

<Survey> 
    <Page> 
     <FreeformQuestion text = "What is your name?" maxResponseLength = "50" /> 
     <ListQuestion text = "What is your gender?> 
      <Option value = "M" text = "Male /> 
      <Option value = "F" text = "Female /> 
     </ListQuestion> 
    </Page> 
</Survey> 

等等。

然後,您會將<Page />節點傳遞到form/page/usercontrol,它會爲每個問題創建適當的UI控件。

您還想傳遞是否這是第一頁還是最後一頁以渲染Next和Back按鈕。

相關問題