2

デフォルトでは、すべての分離コードクラスはから継承し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.xamlPhoneApplicationPage

phone:PhoneApplicationPage..。

しかし、私はこれを修正する方法を理解していません。何かアドバイス?

4

1 に答える 1

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:testXAMLで基本クラスを指定するには、基本クラスの名前空間()を追加する必要があることに注意してください。

于 2012-12-28T19:37:29.690 に答える