【问题标题】:mvvm cross Partial Declarations must not specify different base classesmvvm cross 部分声明不能指定不同的基类
【发布时间】:2020-10-20 22:06:46
【问题描述】:

我在使用 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# .net xaml mvvmcross


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      public partial class TestView : ContentPage
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多