我希望我的Popups继承基类,处理回调。
我的方法: 创建一个继承自PopupPage(https://github.com/rotorgames/Rg.Plugins.Popup)的类(“CallbackPopup”) 创建从CallbackPopup继承的XAML + CS文件
CallbackPopup:(我的自定义弹出窗口的基类)
using Rg.Plugins.Popup.Pages;
namespace MyProject
{
public class CallbackPopup : PopupPage
{
//[...]
}
}
继承类 - XAML:
<?xml version="1.0" encoding="utf-8" ?>
<myproject:CallbackPopup xmlns="http://xamarin.com/schemas/2014/forms" <!-- throws the error -->
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:myproject="clr-namespace:MyProject;assembly=MyProject"
x:Class="MyProject.Layout.Popups.InheritingPopup">
<CallbackPopup.Content>
<!-- [...] -->
</CallbackPopup.Content>
</myproject:CallbackPopup>
继承类 - CS:
using Rg.Plugins.Popup.Services;
using System;
using Xamarin.Forms.Xaml;
namespace MyProject.Layout.Popups
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class InheritingPopup: CallbackPopup
{
public InheritingPopup()
{
InitializeComponent();
}
// [...]
}
错误:
Type CallbackPopup not found in xmlns http://xamarin.com/schemas/2014/forms
我测试了Popups的功能,但它已经成功了。 但是,将其创建为基类并使其他弹出窗口继承它并不起作用,因为我的错误状态。 我是否在XAML声明中遗漏了某些内容,或者是从RG插件PopupPage继承而导致此问题?
http://www.burkharts.net/apps/blog/the-secret-life-of-a-xaml-page/州: “你无法从另一个Xaml定义的页面派生Xaml定义的页面(除非它们只定义资源而没有内容)” 可能是问题的原因?我不知道,如果RG插件PopupPages是Xaml定义的页面,它定义的不仅仅是资源和内容。
感谢您的支持!
答案 0 :(得分:1)
初始化myproject
时,您应该放置CallbackPopup.Content
命名空间。这就是错误试图告诉你的事情:)
这样的事情:
<myproject:CallbackPopup.Content>
<!-- [...] -->
</myproject:CallbackPopup.Content>