2012-05-31 36 views
1

我對MVVM和WPF都是全新的,我一直在閱讀,但我不認爲我會找到一個足夠具體的答案,沒有時間顯着的時間,所以我來過這裏。模型視圖ViewModel + WPF - 需要進一步瞭解

我有一個包,其中有很多XAML文件,這些文件明顯用於GUI。當我展開這些XAML文件時,有一個.xaml.cs文件。另外,在同一個包中,我有__ViewModel.cs文件。我的問題是,這個系統的核心在哪裏?

我的誤會是 - .XAML文件的View,.xaml.cs模型和_ViewModel.cs文件的ViewModels?我不完全確定.xaml.cs,其他兩個都很明顯。如果.xaml.cs文件不是模型,我該如何確定是什麼?

回答

1

*.xaml.cs文件只是視圖的代碼隱藏,因此,它是該層的一部分(如其他答案註釋)。

正如您猜測的那樣,*ViewModel.cs文件組成了各種視圖模型。該命名約定非常標準。

定義型號有點棘手,因爲它根據應用程序而變化。一般來說,它的應用程序的「核心」,其他的一切都是基於實際上是

這可以是一個數據庫,一個Web服務,一個TCP套接字連接,以及其他一些事情。最重要的是它絕不涉及到視圖。你不會在文件的命名方案中看到它,但是如果你看看程序的設計,那麼它很明顯。

1

.XAML.cs文件也是視圖的一部分。它們被稱爲背後的代碼。如果您使用的是MVVM,那麼一般而言,您很少需要訪問這些文件,因爲您不會將事件處理程序添加到後面的代碼中,而是使用Commands將命令綁定到視圖模型。

+0

這很有幫助,謝謝。我如何確定模型文件?這將是一個獨立項目中的所有低級代碼嗎? – Kcvin

+0

還是更多的開發商呢?我拿起了一個單人項目和文檔很差的文檔,我無法確定。 它看起來像是主應用程序,一個「____Control」包和一對「_____Library」包。也是「_____API」包。我認爲這些大部分都是我將要處理的主要興趣。抱歉,我無法顯示屏幕截圖/示例。 – Kcvin

+0

什麼構成模型(以及關於這個問題的視圖模型)將由開發者決定。在你的情況下,viewmodel文件是顯而易見的。無論您的應用程序運行的主要業務對象/數據如何,該模型都可以是任何東西。我猜測它會在某個地方的主應用程序項目中。如果不查看代碼,我會猜想___Control *可能是視圖中使用的控件,___Library *可能是應用程序使用的一些自定義或第三方庫,而___API *可能*定義API以供其他人使用,但這些只是猜測。 – BryanJ