我想用MVVM Light Toolkit實現一個應用程序,但我不知何故卡住了ViewModelLocator。代碼訪問MVVM Light ViewModelLocator
雖然我很清楚如何從XAML中的視圖和視圖的代碼隱藏中訪問它,但我從其他視圖模型訪問它時遇到一些問題。
在App.xaml中:
<Application.Resources>
<vm:ViewModelLocatorTemplate xmlns:vm="clr-namespace:MvvmLight1.ViewModel" x:Key="Locator" />
</Application.Resources>
在查看:
DataContext="{Binding Source={StaticResource Locator}, Path=ViewModelName}"
但如何從其他視圖模型訪問例如MainViewModel? 看來以前版本的ViewModelLocator片段對不同視圖模型有一個靜態方法。但那些不再存在,所以我認爲這不是要走的路。但是什麼?或者,如果我想從視圖模型訪問定位器,我是否完全針對該模式進行了一些操作?
是的,這種代碼是在ViewModelLocator中。 所以你的建議是直接使用SimpleIoc而不是類ViewModelLocator? – MuhKuh
是的,因爲這就是爲什麼你將Ioc添加到第一個位置:)用於'注入',以便在任何其他類中使用這些類實例。 – Depechie
psst接受答案會很好:) – Depechie