3

我有两个视图添加和编辑视图两个视图都是不同的 UI 但相同的视图模型。通过使用 mvvm,我将绑定上下文设置为两个视图作为相同的视图模型。我是新鲜 mvvm 的新手。在新鲜的 mvvm 中,我不知道如何将相同的视图模型设置为两个视图。另一个是,我将参数传递给 viewmodel 构造函数,如何在新的 mvvm 中实现。请提出您宝贵的建议。

根级页面中抛出异常

4

2 回答 2

2

通常,随附的视图将由名称推断。但是对于这个用例,您应该明确提及要使用的视图。有一种方法,你应该可以像这样使用它:

// For adding
CoreMethods.PushPageModel<AddEditViewModel, AddView>();

// For editing
CoreMethods.PushPageModel<AddEditViewModel, EditView>();

当然,考虑到您仍然需要为PushPageModel方法指定的实际参数。另外,我在这里假设了您的视图模型和视图的名称,但我希望它能够理解这一点。

于 2019-04-03T08:53:20.160 回答
0

对于那些有兴趣为您在应用程序中加载的第一页(例如启动画面)执行此操作的人,这可能会有所帮助 -

Page page;
if (Xamarin.Forms.Device.Idiom == TargetIdiom.Tablet)
{
    page = FreshPageModelResolver.ResolvePageModel<SplashPageModel>();
}
else
{
    // We will load our phone only splash screen
    page = new SplashPagePhone();
    FreshPageModelResolver.BindingPageModel(null, page, new SplashPageModel(FreshIOC.Container.Resolve<DataService>()));
}

var navContainer = new FreshMvvm.FreshNavigationContainer(page)
{
    BarTextColor = Color.White
};
MainPage = navContainer;
于 2019-04-19T07:25:23.473 回答