2013-01-15 58 views
1

我在我正在開發的應用程序中實現MVVM模式,並且在我的解決方案中有3個獨立程序集,Model, View, and ViewModelViewModelModel有參考,ViewViewModel有參考。 在我的Model我有一個類Event,並在ViewModel我創建一個ObservableCollection<Event>。 問題是,當我嘗試在View中將此集合設置爲ListViewDataContext時。我得到這個錯誤:MVVM引用程序集

error CS0012: The type 'Model.Event' is defined in an assembly that is not referenced. You must add a reference to assembly 'Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. 

我想有脫鉤儘可能多地應用,而這並不是脫鉤我的應用程序。我知道,當我添加模型的引用到我的視圖,然後我不會得到錯誤,但我不希望我的視圖具有模型引用。如何使這個工作?

+2

如果你希望你的視圖能夠顯示一個'Event',它必須有一個參考,就這麼簡單。我想你可以爲你的模型提供第四組接口,並讓你的模型和視圖組件引用它。 – Thelonias

回答

1

使您的視圖組件參考模型組件沒有任何問題。我認爲這是通常的做法,也是讓您的模型在視圖中顯示的唯一方法。假設你從視圖的xaml(而不是代碼隱藏)綁定到視圖模型的ObservableCollection,我沒有在這裏看到緊密耦合的程序集。

+0

僅僅因爲一些常見的做法並不是一個好主意。 :) –

+0

@CameronMacFarland ...有點像改變車道沒有指示。 –

相關問題