我希望能夠使用Autofac作爲我的IoC容器將ViewModels注入到Windows Phone 8應用程序的視圖中。我如何去做這件事?我已經看過Caliburn.Micro框架,但我想使用更簡單的東西。如何使用Autofac在Windows Phone 8應用程序中注入ViewModels?
3
A
回答
4
正是爲了這個目的,我創建了一個小型演示應用程序。它定義了一個ViewModelLocator
類:
public class ViewModelLocator
{
private readonly IContainer container;
public ViewModelLocator()
{
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterType<MainViewModel>();
containerBuilder.RegisterType<ItemViewModel>();
this.container = containerBuilder.Build();
}
public MainViewModel MainViewModel
{
get
{
return this.container.Resolve<MainViewModel>();
}
}
public ItemViewModel ItemViewModel
{
get
{
return this.container.Resolve<ItemViewModel>();
}
}
}
要從您的意見使用這個類,你必須將它添加到您的應用程序的資源。您在App.xaml中通過修改Application.Resources部分做到這一點:
<Application.Resources>
<local:ViewModelLocator xmlns:local="clr-namespace:AutofacWP8DependencyInjectionDemo" x:Key="ViewModelLocator"/>
</Application.Resources>
現在你就可以在視圖中注入視圖模型。只需要看點DataContext
即可。要引用MainViewModel
爲DataContext
只需添加以下到您的視圖:
DataContext="{Binding Path=MainViewModel, Source={StaticResource ViewModelLocator}}"
你可以看到,這臺DataContext
到ViewModelLocator
類的MainViewModel
特性,它採用Autofac用來創建MainViewModel
實例依賴注入。
您可以在這裏找到來源:https://github.com/ErikSchierboom/autofacwp8dependencyinjectiondemo.git
相關問題
- 1. 如何在Windows Phone 8應用程序中使用DarkIcons.dll?
- 2. 如何將Windows Phone 8應用程序移植到Windows Phone 8.1?
- 3. 應用程序在Windows Phone 8中的應用程序通信
- 4. 在Windows Phone 8應用程序中隱藏RecognizerUI應用程序
- 5. Windows Phone 8 - MVVM ViewModels和App.xaml.cs
- 6. Windows Phone 8應用程序中的ListView
- 7. Windows Phone 8上的Windows Phone 7應用程序8
- 8. Windows 8應用程序和Windows Phone應用程序提交
- 9. 如何在Windows XP上構建Windows Phone 8應用程序?
- 10. 註銷Windows Phone 8應用程序中的EventHandler
- 11. 如何在Windows Phone 8應用程序中獲取ISO屬性?
- 12. 如何在Windows Phone 8中創建圖庫鎖應用程序?
- 13. 如何在Windows Phone 8中調試我的應用程序?
- 14. 如何在Windows Phone 8應用程序中選擇視頻
- 15. 如何在Windows Phone 8中集成dlmalloc C++/cli應用程序
- 16. 如何更改Windows Phone 8應用程序的StartPage在C#中
- 17. 如何在windows phone 8應用程序中創建餅圖?
- 18. 在Windows Phone 8應用程序中嵌入本地視頻
- 19. 在Windows Phone 8應用程序中使用OpenCV
- 20. 在Windows Phone 8應用程序中使用Youtube Feed
- 21. 在windows phone 8應用程序中使用SQL表
- 22. 在windows phone 8設備上部署windows phone 7.1應用程序
- 23. Windows Phone 7應用程序在Windows Phone 8上運行嗎?
- 24. 將Windows Phone 8應用程序移植到Windows 8中
- 25. C#windows phone 8應用程序段
- 26. Windows Phone 8應用程序共享
- 27. Windows Phone 8應用程序名稱
- 28. Windows Phone 8應用程序 - Facebook集成
- 29. Windows Phone 8應用程序記錄
- 30. Windows Phone 8應用程序測試
這是最好的地方,把這個IOC Autofac配置在Windows Phone 8的應用程序就像是哪個事件(啓動或活動)。我在想的是我們可以將這些東西放入Launch中。是不是?或者我需要一些代碼升級。 –
發射會很好。 –
只是想確定它是否會在應用程序來自Tomb-stoned/dormant狀態時創建任何問題? –