默认情况下,所有代码隐藏类都继承自PhoneApplicationPage
。我想创建一个PhoneApplicationPage
的子类,并将其作为我的代码隐藏类的基础,如下所示:
namespace Test
{
public partial class HistoryRemoverPage : PhoneApplicationPage
{
protected override void OnNavigatedTo
(NavigationEventArgs e)
{
if (e.NavigationMode == NavigationMode.New)
NavigationService.RemoveBackEntry();
}
}
}
namespace Test
{
public partial class MainPage : HistoryRemoverPage
{
public MainPage()
{
InitializeComponent();
}
}
}
当我尝试编译我的应用程序时,我收到以下错误:
错误1'Test.MainPage'的部分声明不得指定 不同的基类
我认为这与MainPage.xaml
中指向PhoneApplicationPage
而非我的子类的声明有关:
电话:PhoneApplicationPage ...
但我不明白如何解决这个问题。有什么建议吗?
答案 0 :(得分:6)
是的,你走在正确的轨道上。您需要将MainPage.xaml
中的根元素更改为自定义基类:
<test:HistoryRemoverPage x:Class="Test.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
<!-- ... --->
xmlns:test="clr-namespace:Test">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<!-- ... --->
</Gird>
</test:HistoryRemoverPage>
请注意,您需要添加基类命名空间(xmlns:test
),以便在XAML中指定基类。