问题描述
我应该使用 as
将类型更改为可移植类型吗?最佳做法是什么?
error:Severity Error CS0029 无法将类型“MasterDetail.G2.Main”隐式转换为“Xamarin.Forms.Page”
Main.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 MasterDetail.G2
{
[XamlCompilation(XamlCompilationoptions.Compile)]
public partial class Main : ContentView
{
public Main()
{
InitializeComponent();
}
}
}
app.xaml.cs
using MasterDetail.G2;
using System;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace MasterDetail
{
public partial class App : Application
{
public App()
{
InitializeComponent();
MainPage = new Main();
}
protected override void OnStart()
{
}
protected override void OnSleep()
{
}
protected override void OnResume()
{
}
}
}
解决方法
改变
public partial class Main : ContentView
到
public partial class Main : ContentPage
,
不确定您想要做什么,但是您不能将某个类强制转换为另一个不继承它的类。 ContentPage
不继承自 ContentView
或您的 Main
类。
将派生类从 ContentView 更改为 ContentPage
在 Main.xaml 上,将 更改为