Using Stuart Lodge's excellent N+1 series, I stumbled in Session N+1 - 14. This is where the pictureChooserTask is introduced.
I was getting this error which absolutely baffled me:
MvxIoCResolutionException: Failed to resolve parameter for parameter pictureChooserTask of type IMvxPictureChooserTask when creating Collect-A-Bull.Core.ViewModels.AddViewModel
Solution:
I would only get this error at runtime which lead me down a path towards the solution.
Stuart reminded me that what I was missing was the bootstrap:
To make the plugin available, you'll need to reference the plugin core and touch assemblies, and you'll need to include a bootstrap class - like https://github.com/MvvmCross/NPlus1DaysOfMvvmCross/blob/master/N-08-Location/Location.Touch/Bootstrap/LocationPluginBootstrap.cs
What I needed to add in my UI layer was the bootstrap folder with the PictureChooserPluginBootstrap class.
| using Cirrious.CrossCore.Plugins; | |
| namespace PictureTaking.Phone.Bootstrap | |
| { | |
| public class PictureChooserPluginBootstrap | |
| : MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.PictureChooser.PluginLoader> | |
| { | |
| } | |
| } |
Once I had this in place the viewmodel loaded correctly and I was able to proceed.
Source:
http://answer.techwikihow.com/1004999/ioc-resolving-dependencies-mvvmcross.html
https://github.com/MvvmCross/MvvmCross/wiki/MvvmCross-plugins#picturechooser
No comments:
Post a Comment