2011-12-19 76 views
0

我正在構建一個相當大的WP7應用程序,並且有很多樂趣。它是基於樞軸的,並有相當多的樞軸頁面。我根據用戶選擇的應用程序的「模式」動態添加和刪除數據透視表頁面,以儘可能簡化應用程序的外觀和感覺。目前爲止,我的應用程序響應速度很快,而不是內存或資源管理器,並在需要時按需執行後臺加載。如果需要隱藏代碼,是否可以使用UserControls?

Model層包含了我所有的業務邏輯,它們代表了應用程序的全部內容。它是乾淨的,與視圖模型和視圖圖層分離。

視圖模型層是模型的抽象,它需要與視圖進行交互,並且還包含應用程序的會話和工作流程方面。它包含以視圖需要與之交互的方式表示模型的對象。視圖模型將應用程序的狀態保存在獨立存儲中,並支持墓碑。

查看圖層包含許多元素pivot,用戶控件,樣式,資源等在xaml和相應的代碼背後。我喜歡Blend和Visual Studio 2010中的Xaml設計器,但是我發現自己仍然在後面的代碼中編碼/配置視圖對象,因爲它們之間存在着交互的性質。視圖對象背後的代碼變得相當大,但仍然只反映了視圖的狀態,而不是應用程序的狀態。我已經使用了很多用戶控件,因爲這讓我可以在許多數據透視頁面上構建可重用組件,但用戶控件不是Blend友好的。我擔心的是,我的觀點可能變得比需要變得更加複雜,並失去協調用戶界面設計與表達混合等工具的能力。

通過以這種方式定製視圖並利用可重用控件,我大大減少了我的Xaml,並且不會遇到其他開發人員提到的臃腫的Xaml文件,但卻失去了與Blend協調的能力。是否有快樂的媒介被發現?我應該看設計自定義控件嗎?

[編輯]

感謝您的回覆。我認爲可以歸結爲設計師的很多Xaml,或者將其分解爲更多的代碼隱藏在用戶控件中。自從我進入用戶控制之後,我的思維方式已經回到了用手而不是用設計師的方式做事(更好的是你認識的魔鬼!)。我的想法是讓我的用戶控件變成可皮膚的自定義控件,或者繼續保持自己的方式,避免使用設計器。它有點馬鈴薯,但我不想陷入壞習慣。

回答

0

自定義控件(或模板控件)與我的問題沒有直接關係。自定義控件只是添加新屬性,事件和方法到現有控件的控件,仍然能夠被設計者「模板化」。

在代碼中創建用戶界面並使其更難設計應用程序使用混合(甚至VS設計師),因爲看到接口的唯一方法是通過運行應用程序。

很多創建UI的邏輯都可能被使用Visual State Manager替換。使用控件的狀態爲視圖的特定模式設計它們。只有當你需要額外/新的狀態時,你將不得不創建一個自定義控件。

由於您的問題有點寬,請隨時添加評論或延長您的問題,這樣我就可以添加更多的細節或刪除這個答案,當它是完全廢話:)

相關問題