我正在看https://github.com/XLabs/Xamarin-Forms-Labs/blob/master/Samples/XLabs.Sample/ViewModel/CameraViewModel.cs,试着让我的应用程序可以使用相机。
我有同样的设置,但是当我运行我的应用程序时,调用我的PCL的iOS应用程序会出现错误:
IResolver has not been set. Please set it by calling Resolver.SetResolver(resolver) method.我不知道这意味着什么,也不知道我需要什么密码。我根本不使用国际奥委会,我也不太关心它,但我只是想让我的PCL可以使用这台相机。当我不在这里使用MVC时,我怎样才能让我的PCL可以使用这台相机。
发布于 2015-05-04 14:11:56
如果您希望使用ViewModel,那么修改构造函数以接受IMediaPicker:
public CameraViewModel(IMediaPicker mediaPicker)
{
this._mediaPicker = mediaPicker;
}删除安装函数:
如何将IMediaPicker实现应用于PCL取决于您。IoC是首选的(而且容易)的方式,但您也可以使用其他模式。一种方法是在Func<IMediaPicker>上定义一个静态ViewModel属性,并在平台特定的项目中设置它。
IoC容器是完成它的最简单、最快捷的方法,它只需在应用程序启动时添加这些行(例如AppDelegate的FinishedLaunching方法):
var container = new SimpleContainer();
container.Register<IMediaPicker, MediaPicker>();
Resolver.SetResolver(container.GetResolver());https://stackoverflow.com/questions/30016482
复制相似问题