部分声明不得指定不同的基类

Kun*_*esh 51 c# wpf

伙计我是WPF的新手.

我有一个名为的wpf页面StandardsDefault.在后面的代码中 ,就像所有其他页面一样StandardsDefault 继承 Page.

<Page x:Class="namespace.StandardsDefault"

public partial class StandardsDefault : Page
Run Code Online (Sandbox Code Playgroud)

现在我创建了一个CountryStandards继承StandardsDefault而不是页面的新类.

<Page x:Class="namespace.CountryStandards"

public partial class CountryStandards : StandardsDefault
Run Code Online (Sandbox Code Playgroud)

我没有改变XAML.我收到的错误是

"部分声明'CountryStandards'不得指定不同的基类"

我认为问题可能是设计者没有继承同一个类.但是我需要以某种方式实现继承,因为有许多常用的方法可以在许多标准页面中使用,例如CountryStandards

谁能帮我吗?

nem*_*esv 60

您必须将CountryStandards XAML更改为:

<src:StandardsDefault x:Class="namespace.CountryStandards" 
    xmlns:src="NamespaceOfStandardsDefault" ... />
Run Code Online (Sandbox Code Playgroud)

一篇关于从WPF中的自定义窗口/页面继承的好文章.

  • @Gabriel我找不到帖子的镜像,这里是回程机的链接:http://web.archive.org/web/20200221100003/http://geekswithblogs.net/lbugnion/archive/2007/03 /02/107747.aspx (2认同)

Luk*_*ton 9

有点奇怪的,它还没有在这里列出...但由于我没有应用上述答案,因为我已正确声明我的xaml和cs文件,我做了以下它似乎工作:

进入解决方案文件夹或单击Visual Studio中显示所有文件但删除obj和bin文件夹,这会导致Visual Studio重新生成项目的所有文件.

您的项目现在应该正确构建/运行.

希望能帮助某人 - 或者将来也许是我自己.

编辑:如果您在将页面类型从例如ContentPage更改为CarouselPage后出现此问题,则此修复通常有效.

  • 啊...旧的“删除bin和obj文件夹”解决方案。每次都能工作。它也会解决英国脱欧吗?!? (4认同)

Mah*_*eep 5

在你的CountryStandards.xaml你应该写

<StandardsDefault x:Class="namespace.CountryStandards"...
Run Code Online (Sandbox Code Playgroud)