首页 > 解决方案 > mvvm cross 部分声明不能指定不同的基类

问题描述

我对 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 的部分声明不得指定不同的基类”。我已经尝试了预览帖子中的所有解决方案。

标签: c#.netxamlmvvmcross

解决方案


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

<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">
...

推荐阅读