是否可以扩展 C# 的 WPF 工具包(或任何其他 WPF 类)中的“页面”类?我试图做的事情:
public class ExtendedPage : Page{
protected void doStuff(){
// lots of joy n pleasure
}
}
public partial class RandomWindow : ExtendedPage{
private void randomMethod(){
doStuff(); // causes error
}
}
我问的原因很明显:在扩展页面类 (ExtendedPage) 之后,子类 (RandomWindow) 无法访问其基类的方法。这(至少这是我的猜测)是由 RandomWindow 的部分情况引起的。由于不幸的是这个类是由 WPF 生成的(链接到相应的 *.xaml),我无法找到部分类的另一部分。
这个问题可能会导致一个非常明显的答案,让我看起来像个白痴,但显然我无法弄清楚。我可能会补充一点,我刚刚开始使用 C#,我的编程起源是 Java。
确切的错误消息是“'type' 的部分声明不得指定不同的基类”(CS0263)。
作为对其中一条评论的回应: *.xaml 中的“Page”声明似乎生成了一个代码隐藏文件,其基类是“Page”(而不是 ExtendedPage)。更改它似乎也不起作用,编译器抱怨找不到类型 ExtendedPage。
<Page x:Class="...RandomWindow" ... />
// to
<src:ExtendedPage x:class="...RandomWindow"
xlmns:src="...ExtendedPage" />