mvvm cross Partial Declarations 不得指定不同的基数 类

mvvm cross Partial Declarations must not specify different base classes

我在 MVVM 交叉声明方面遇到了一些问题。每次我将视图从 ContentPage 更改为 MvxContentPage 时,它会显示此声明错误。

public partial class TestView: ContentPage
{
     public TestView()
     {
        InitializeComponent();
        
        BindingContext = new TestViewModel();
     }
}

到此;

 public partial class TestView: MvxContentPage<TestViewModel>
 {
      public TestView()
      {
          InitializeComponent();
      }
 }

XAML;

<views:MvxContentPage xmlns:views="clr-namespace:MvvmCross.Forms.Views;assembly=MvvmCross.Forms"

它告诉我“TestView 的部分声明不能指定不同的基础 类”。我已经尝试了预览 post.

中的所有解决方案

听起来你的项目中某处有另一个文件,其中包含行

public partial class TestView : ContentPage

它可能位于其他文件夹中,但仍具有相同的命名空间(特别是如果您一直在剪切和粘贴文件)。

确保您指定了正确的类型参数,并且没有任何其他 class 同名:

<views:MvxContentPage x:TypeArguments="viewModels:TestViewModel"
         xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:viewModels="clr-namespace:YourProject.ViewModels;assembly=YourProject"
         xmlns:views="clr-namespace:MvvmCross.Forms.Views;assembly=MvvmCross.Forms"
         x:Class="YourProject.Forms.UI.Pages.TestView">
...