0

次のような基本クラスを作成しました。

`namespace XXX.Screens
{
    public partial class Settings_screen_BASE : PhoneApplicationPage
    {
        public static readonly bool DEBUG = true;

        public Settings_screen_BASE()
        {
            if (DEBUG)
                Debug.WriteLine(this.GetType() + "->" + System.Reflection.MethodBase.GetCurrentMethod().Name);
            InitializeComponent();
            if (DEBUG)
                Debug.WriteLine(this.GetType() + "<-" + System.Reflection.MethodBase.GetCurrentMethod().Name);
        }
    }
}`

そして、この子クラス:

 namespace XXX.Screens
{
    public partial class Settings_screen_Child : Settings_screen_BASE
    {

        public Settings_screen_Child()
        {

            if (DEBUG)
                Debug.WriteLine(this.GetType() + "->" + System.Reflection.MethodBase.GetCurrentMethod().Name);
            base.InitializeComponent();
            if (DEBUG)
                Debug.WriteLine(this.GetType() + "<-" + System.Reflection.MethodBase.GetCurrentMethod().Name);
        }
    }
}

私が今電話したとき:

 this.NavigationService.Navigate(new Uri("/Screens/Settings_screen_BASE.xaml", UriKind.Relative));

それはうまく機能し、

しかし、私が電話するとき

  this.NavigationService.Navigate(new Uri("/Screens/Settings_screen_Child.xaml", UriKind.Relative));

黒い画面が表示され、デバッグ出力に子クラスの作成が表示されません。

ここで何が欠けているのか教えてください。

子を呼び出すことは、基本クラスを呼び出すこととまったく同じであると予想していました。少なくともそれは呼び出す必要がありますSettings_screen_Child()

4

1 に答える 1

1

何が起こっているのかわからない。子ページので適切な基本クラスを参照していることを確認する必要があります。私はあなたの例の私自身のバージョンを作成しました、そしてそれは私にとってうまく働いているようです。ここで私のサンプルプロジェクトをチェックできます:http ://sdrv.ms/XLcyvR

于 2012-12-10T22:22:43.343 に答える