В моем проекте Xamarin.Forms я пытаюсь создать многократно используемый ViewCell. Однако я не могу понять, почему, когда я просто создаю XAML и CS-файл ViewCell с использованием предоставленного VS шаблона, он не будет компилироваться из-за следующей ошибки:
"Частичные объявленияDateViewCell не должен указывать разные базовые классы.
Эта ошибка появляется после того, как я создаю файл (как вы увидите из кода ниже, я еще не добавил ни одного кода, и этовсе шаблон), и у меня есть полностью функциональный проект Xamarin.Forms, который без проблем компилируется, если я удалю расширение.
DateViewCell.xaml:
<?xml version="1.0" encoding="UTF-8"?>
<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="HelloWorld.Extensions.DateViewCell">
<ViewCell.View>
<StackLayout>
<Label Text="Hello Xamarin.Forms!" />
</StackLayout>
</ViewCell.View>
</ViewCell>
DateViewCell.xaml.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace HelloWorld.Extensions
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class DateViewCell : ViewCell
{
public DateViewCell()
{
InitializeComponent();
}
}
}
DateViewCell.xaml.g.cs:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
[assembly: global::Xamarin.Forms.Xaml.XamlResourceIdAttribute("HelloWorld.Extensions.DateViewCell.xaml", "Extensions/DateViewCell.xaml", typeof(global::HelloWorld.Extensions.DateViewCell))]
namespace HelloWorld.Extensions {
[global::Xamarin.Forms.Xaml.XamlFilePathAttribute("Extensions\\DateViewCell.xaml")]
public partial class DateViewCell : global::Xamarin.Forms.ViewCell {
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "2.0.0.0")]
private void InitializeComponent() {
global::Xamarin.Forms.Xaml.Extensions.LoadFromXaml(this, typeof(DateViewCell));
}
}
}
Вроде здесь тупик. Я попытался создать это расширение "DateViewCell" вручную, и я получил ту же ошибку, что и я, когда позволил VS создать файл для меня. Я начинаю удивляться, если это ошибка в Xamarin.
У кого-нибудь есть какие-либо предложения? Те статьи, которые я мог найти, которые ссылались на эту конкретную ошибку, на самом деле не применимы, и у меня нет идей о лучших способах поиска этого ... Спасибо всем.