我有一个 XAML 页面,它继承自我的用户定义类:
<xpap:GenericListPage
x:Class="my.View.ListPage"
xmlns:xpap="clr-namespace:my.View.Generic" ... />
最初我想为我的 XAML 页面使用通用基类,但这是不可能的(至少在 WP7 中;在 WP8 中是否可以为页面使用通用基类?)。所以我最终得到了这个解决方法(ExtendedPhoneApplicationPage 继承自 PhoneApplicationPage 添加了我的所有页面(如 ListPage 等)都应该具有的额外功能/行为):
namespace my.View
{
namespace Generic
{
public partial class GenericListPage :
ExtendedPhoneApplicationPage<ListViewModel>
{
...
}
}
public partial class ListPage : Generic.GenericListPage
{
...
}
public class ExtendedPhoneApplicationPage<T> :
PhoneApplicationPage where T : class, IViewModelBase
{
...
}
}
在我安装了 WP8 SDK 之前,这一切都很好(据我所知)。设计器说“无效标记”并且有一个错误说:“名称“GenericListPage”在命名空间“clr-namespace:my.View.Generic”中不存在。”
奇怪的是,该解决方案可以编译并可以部署在模拟器上。任何人都知道为什么或如何消除错误?