Dom*_*ski 6 xamarin.android mvvmcross xamarin xamarin.forms
我正在尝试使用 MvvmCross 6.0 将 Forms XAML 视图嵌入到 Xamarin Native 应用程序中。
我试图重现此解决方案的效果,但我在注册IMvxFormsViewPresenter. 我也跟着这个教程。
我有一个简单的MainContainerActivitywith MainFragment(MainViewModel在 Core 中对应),其中包含一个指向 Forms SettingsActivity/的按钮SettingsViewModel。
可以在测试存储库中找到完整的源代码。
目前,我在base.OnCreate(bundle);导航到SettingsViewModel以下位置时遇到了异常:
已抛出 MvvmCross.Exceptions.MvxIoCResolveException
无法解析类型 MvvmCross.Forms.Presenters.IMvxFormsViewPresenter
我找不到注册此 Forms Presenter 的方法。我试图做到这一点,Setup但没有成功。
我也尝试解决MvxFormsAndroidViewPresenter,SplashActivity但结果为Mvx.Resolve<IMvxViewPresenter>() as MvxFormsAndroidViewPresenter;空。
你知道我应该怎么做才能将 Forms 视图合并到 MvvmCross 6.0 本机应用程序中吗?
namespace MvvmCrossFormsEmbedding.Droid.Views
{
[Activity(Theme = "@style/AppTheme",
Label = "SettingsActivity")]
public class SettingsActivity : MvxFormsAppCompatActivity<SettingsViewModel>
{
public static SettingsActivity Instance { get; private set; }
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// #1 Initialize
Forms.Init(this, null);
SetContentView(Resource.Layout.activity_settings);
var toolbar = FindViewById<Toolbar>(Resource.Id.layout_toolbar);
SupportActionBar.Title = "Settings";
Instance = this;
// #2 Use it
var frag = new SettingsView().CreateFragment(this);
var ft = FragmentManager.BeginTransaction();
ft.Replace(Resource.Id.fragment_frame_layout, frag, "main");
ft.Commit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
346 次 |
| 最近记录: |