0

到目前为止喜欢这个框架。

也就是说,遇到了我的第一个障碍。我创建了一个基于 MvvmCross 的库(实际上是几个库),它执行登录服务,将在同一系列的多个跨平台应用程序中使用。我不太明白如何将这些登录库插入我的其他应用程序(也将使用 MvvmCross)。我希望能够在这些应用程序中重复使用相同的 ViewModel 和 View。

假设我已经阅读并观看了很多 slodge 的视频。:) 这是非常好的。

我认为具有两个核心库的 MvvmCross 与我正在尝试做的事情最接近,这只是将 MvvmCross 项目粉碎在一起并使其神奇地工作。但是通过那个在代码示例中有一些不一致的帖子,我一直无法让它工作。

4

1 回答 1

1

Setup 中有 2 种方法告诉 mvvmcross 在哪里寻找 Views 和 ViewModels。如果您覆盖这些,那么系统应该会找到您的视图和视图模型。

    protected virtual Assembly[] GetViewAssemblies()
    {
        var assembly = GetType().Assembly;
        return new[] {assembly};
    }

    protected virtual Assembly[] GetViewModelAssemblies()
    {
        var app = Mvx.Resolve<IMvxApplication>();
        var assembly = app.GetType().Assembly;
        return new[] {assembly};
    }

除此之外,我知道的唯一补充是您可能需要:

  • 为了给 wp 一些额外的帮助来查找附加程序集中的任何视图的 xaml url - 默认情况下,mvx 仅在 /views 中查找 xaml uri,而不是在任何其他程序集中的任何其他文件夹中。提供 xaml url 的一种方法是MvxPhoneViewAttribute在 View 的 c# 文件中添加一个,另一种是覆盖MvxPhoneViewsContainer以使其提供自定义 url。
  • 调整一些 android 项目设置,以便将资源从库共享到主项目(尽管今年在 xamarin.android 中此功能变得更好。
于 2013-06-19T20:09:13.850 回答