是否有可能在C#的WPF工具箱(或其他任何WPF类)中扩展“Page”类? 什么我试图做的:扩展页面类
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。
确切的错误消息是“类型的部分声明”不能指定不同的基类“(CS0263)。
作为对其中一个注释的回应:* .xaml中的“Page”声明似乎生成一个代码隐藏文件,其基类是“Page”(而不是ExtendedPage)。改变这个似乎也不行,编译器抱怨找不到ExtendedPage类型。
<Page x:Class="...RandomWindow" ... />
// to
<src:ExtendedPage x:class="...RandomWindow"
xlmns:src="...ExtendedPage" />
'部分“与它无关。你发布的内容应该可以正常工作,尽管你可能想尝试将它称为'base.doStuff()'。 – Oded
告诉我们错误。 (也[这里](http://msdn.microsoft.com/en-us/library/ms229043.aspx)将是C#中的大写惯例) –
也不管用,当然已经尝试过了。我猜测“部分”导致错误是基于以下知识:RandomWindow实际上是由WPF生成的类,链接到XAML - 并且extend-command在某种程度上被部分类的其他部分覆盖。 –