我创建了一个这样的Base类:
`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()
答案 0 :(得分:1)
不确定发生了什么。您应该确保在子页面中引用了正确的基类。我创建了我自己的示例版本,它似乎对我来说很好。您可以在此处查看我的示例项目:http://sdrv.ms/XLcyvR