mvvmcross - MVVMCross 中的自定义插件

标签 mvvmcross

我正在开发 MVVMCross v3,我想创建自己的插件,我遵循了本教程(适用于 vNext)

http://slodge.blogspot.fr/2012/10/build-new-plugin-for-mvvmcrosss.html

为了与 v3 兼容,我将 IMvxServiceConsumer 和 GetService 更改为 Mvx.Resolve。

但是教程上有:

然后,对于 WinRT、WindowsPhone 和 MonoTouch 客户端,您还需要在 setup.cs 中提供一个 Loader 访问器——例如:

protected override void AddPluginsLoaders(Cirrious.MvvmCross.Platform.MvxLoaderPluginRegistry loaders)

{
    loaders.AddConventionalPlugin<MyCompany.MvvmCross.Plugins.Mega.WindowsPhone.Plugin>();

    base.AddPluginsLoaders(loaders);
}

我如何在 v3 中做到这一点?

谢谢

最佳答案

如果你想写一个新的插件,那么:

对于插件初始化,nuget 包现在通过 Bootstrap 文件执行此操作 - 例如查看为位置添加的文件:


bootstrap 方式是现在进行初始化的正常方式。

如果您确实想使用非引导技术,那么您可以这样做:

  • 在 WinRT、WinPhone 和 Droid 中,您不需要使用加载器,但您需要调用 MyPlugin.PluginManager.Instance.EnsureLoaded在插件可以使用之前。
  • 在 Touch 中,您需要在 protected override void AddPluginsLoaders(MvxLoaderPluginRegistry loaders) 期间提供加载程序- 并且您仍然需要调用EnsureLoaded()在插件可以使用之前。

有关这种“老式”工作方式的示例,请参阅 Setup.cshttps://github.com/slodge/MvvmCross-Tutorials/tree/master/Sample%20-%20TwitterSearch 中的 UI 项目中

关于mvvmcross - MVVMCross 中的自定义插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16788164/

相关文章:

xamarin - MvvmCross 4 和 Xamarin.iOS -> 使用 Storyboard时如何从 Core 加载 View Controller ?

xamarin - 我可以将 MvvmCross vNext 与 Xamarin 2.0 一起使用吗?

c# - MvxListView 不像普通的 xamarin ListView 那样流畅

c# - 更改默认超时

mvvm - 单个页面中的多个 View 模型 mvvmcross

mvvmcross - 将 viewModel 属性绑定(bind)到 MvvmCross 中的 View 属性

windows-phone-7 - MvvmCross vnext : CheckBox CheckedChange event to a command with monodroid

mvvm - MVVM交叉行为和InvokeCommandAction

android - Mvvmcross:启动包含 ListView 的 Android 对话框

xamarin.ios - 使用 PCL 构建的 Servicestack monotouch DLL