【发布时间】:2017-06-02 15:21:38
【问题描述】:
我正在尝试从基本页面而不是正常的 Page XAML 控件继承,但 Visual Studio 给我 OnNavigatedTo method not found to be overridden 的编译时错误。
我这样做是因为我有多个页面,其中包含很多类似的代码,我只想编写一次该代码,所以我想在父类中编写该代码,然后从该父类继承所有页面,我跟着互联网上多个资源中所述的指南以及以下是我的代码。
父类:
public class VideoParentPage : Page
{
}
子类 (AllVideoPage.xaml.cs):
public sealed partial class AllVideosPage : VideoParentPage
{
public AllVideosPage() : base()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
SetBanner();
}
}
AllVideosPage.xaml 文件中的 XAML:
<local:VideoParentPage
xmlns:local="using:Fluent_Video_Player.Views.Shared"
...some unrelated XAML code...
</local:VideoParentPage>
注意:我已经在 C# 类中使用了所有必要的 using 语句。
【问题讨论】:
-
当我第一次使用某些基本页面时,我会遇到类似的错误。您是否尝试过编译应用程序?编译总是为我解决了这些问题。也许尝试清理解决方案并重建它。
-
编译器显示错误但不知何故应用程序能够运行并且工作正常,直到我向父类添加一些方法并尝试在子类中使用它们,然后发生各种错误,它没有'然后甚至不构建,它甚至不识别那些变量(它刚才识别得很好),如果我从父类中删除这些函数并只使用一些变量,那么它们会在编辑器中显示红线和错误,但应用程序构建和运行都很好。
-
这很奇怪,在第一次编译后,所有错误对我来说总是消失了。您应该尝试清理解决方案
Build > Clean Solution,然后关闭VS,删除剩余的bin和obj文件夹,然后再试一次。 -
VideoParentPage派生自Page类但它是空的? -
不,它不是空的,它有一些代码,但在这里无关紧要,所以我把它显示为空
标签: c# xaml inheritance navigation uwp