繁体   English   中英

创建View-ViewModel查找表时出现问题-您为ViewModels注册了多个视图

Problem seen creating View-ViewModel lookup table - you have more than one View registered for the ViewModels

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我使用MvvmCross启动了Xamarin.Froms项目。 我遵循MvvmCross官方网站上的文档,使用Xamarin.Forms启动Android项目。 这是我的Core项目中的代码:

public class App : MvxApplication
{
    public App()
    {

    }

    public override void Initialize()
    {
        base.Initialize();

        Mvx.IoCProvider.RegisterSingleton(new NavigationStack());
        Mvx.IoCProvider.RegisterSingleton<IMvxAppStart>(new MvxAppStart<MainViewModel>(this, Mvx.IoCProvider.Resolve<IMvxNavigationService>()));
    }
}

public class MainViewModel : BaseViewModel
{
    public MainViewModel(NavigationStack navigationStack) : base(navigationStack)
    {
    }
}

我的Forms项目中的代码: MainView.xaml

<views:MvxContentPage x:TypeArguments="viewModels:MainViewModel"
xmlns="http://xamarin.com/schemas/2014/forms" 
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
xmlns:views="clr-namespace:MvvmCross.Forms.Views;assembly=MvvmCross.Forms"
xmlns:mvx="clr-namespace:MvvmCross.Forms.Bindings;assembly=MvvmCross.Forms"
xmlns:viewModels="clr-namespace:MyApp.Core.ViewModels;assembly=MyApp.Core"
x:Class="MyApp.Forms.Views.MainView">

    <ContentPage.Content>
        <StackLayout Margin="10">
            <Label Text="Subtotal" />
        </StackLayout>
    </ContentPage.Content>

</views:MvxContentPage>

MainView.xaml.cs

public partial class MainView : MvxContentPage<MainViewModel>
{
    public MainView()
    {
        InitializeComponent();
    }
}

在我的Android项目中:

[Activity(
    Label = "MyApp.Droid",
    Theme = "@style/MyTheme",
    MainLauncher = true,
    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,
    LaunchMode = LaunchMode.SingleTask)]
public class MainActivity : MvxFormsAppCompatActivity<MvxFormsAndroidSetup<Core.App, Forms.App>, Core.App, Forms.App>
{
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;
        base.OnCreate(bundle);
    }
}

它可以编译,但是当我启动应用程序时出现异常:

MvvmCross.Exceptions.MvxException:创建View-ViewModel查找表时出现问题-您为ViewModels注册了多个视图:2 * MainViewModel(MainActivity,MainView)

1 个回复

如果您的ViewModel称为MainViewModel,而Forms页面也是如此,则可能会发生名称冲突,因为MvvmCross将具有2个视图来进行ViewModel查找。 您可以通过将您的活动命名为“ FormsActivity.cs”来避免这种情况。

您也可以将MainViewModel重命名为MvxMainViewModel(无论您喜欢什么),然后该异常将消失。

1 导航时是否放置View-ViewModel

我正在使用Prism DryIoc在Xamarin Forms项目中工作。 例如,我有一个MainPage和一个APage ,其中包含ViewModels MainPageViewModel和APageViewModel 。 在APageViewModel我有一个计时器,其代码如下: ...

2 尝试使用WITH创建View时出现问题

我正在尝试创建以下视图,查询运行查找,直到我尝试创建一个视图,然后我收到一个错误,指出:创建视图或函数失败,因为没有为列1指定列名,研究我发现没有真正的帮助,因为它通常是一个简单的查询错误,但我的目前运行正常。 任何见解? ...

3 在Firebase中查找注册用户记录时出现问题

我使用电子邮件和密码为用户创建了一个注册系统,注册的方式是成功注册后应将您重定向到主页。 但是在成功注册后,我无法在用户的Firebase身份验证中找到注册用户记录。 请你认为是什么问题 ...

2019-11-22 23:08:18 0 5   android
4 连接多个表时出现问题

我一直在寻找解决方案,但今天我投降了,所以请寻求帮助。 我正在使用两个“内部联接”,因为我需要从两个表中获取余额的总和,但是当我使用sum(第1列,第2列)时,命令“内部联接”会使英勇值翻倍,而当我使用sum(第2列时)第1栏)一切正常。 例如:此查询工作得很好,但我还必须从称为ca ...

5 创建表时出现问题

创建表mainTable,将curr_Table.empID选择为empID,将(currTable.ToTalDays-oldTable.ToTalDays)选择为currTable的DiffDays,从currTable.empID = oldTable.empID上外部联接oldTable ...

6 Powershell 写入注册表时出现问题

我正在编写一个脚本来修改 Windows 机器上的一些注册表设置。 我正在使用 If 在写入它们之前确定密钥/属性是否存在。 如果失败,它应该失败并写一个错误。 这个块正在工作: $currentPath = 'HKLM:\Software\Microsoft\Windows\CurrentVer ...

7 调用View组件时出现问题

我正在做我的第一个asp.net核心项目,因此也是我的第一个视图组件。 我以为我已经按照教程中的每个步骤进行操作,但是我无法成功调用我的视图组件。 这是我的代码: /ViewComponents/ItemListViewComponent.cs /Views/Shared/ ...

10 查找正确表时出现问题

我正在尝试使用Jaunt( https://ravit.is.fi/hevoset/1 )抓取网站,但是在查找正确的表元素以解析此表时遇到了问题(红色: https:// i。 imgur.com/JWNByHR.png ) 从html中,我假设正确的元素应为&lt;table borde ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM