我之前一直在我的 WPF 应用程序中使用 System.Windows.Controls.Page 类。 现在需要创建我自己的类“CustomPage”,派生自“System.Windows.Controls.Page”,
public class CustomPage : System.Windows.Controls.Page
{
public long? CustomProperty { get; set; }
public CustomPage()
{
//some code
}
}
这样
public partial class MyPage : Page
{
public MyPage()
{
InitializeComponent();
}
}
成为
public partial class MyPage : CustomPage
{
public MyPage()
{
InitializeComponent();
CustomProperty = null;
}
}
但是当我重建解决方案时,自动生成的代码会刷新我的代码,基于“System.Windows.Controls.Page”而不是 CustomPage 创建类的第二部分
/// <summary>
/// MyPage
/// </summary>
public partial class MyPage : System.Windows.Controls.Page, System.Windows.Markup.IComponentConnector {
//...
我收到一个错误,例如“您部分定义的类应该引用相同的基类”。如何使用派生的 CustomPage 类而不是 System.Windows.Controls.Page 并避免错误?如果我尝试修改 .xaml 文件中的类并使用
<CustomPage>
而不是 <Page>
,我会在 WPF 中收到错误“不支持 CustomPage 类”。
[更新1] 这是我的 .xaml 文件,这里没有什么有趣的,我无法通过此处的
<Page>
类修改我的 <CustomPage>
类,“不支持 CustomPage”错误。
<Page x:Class="DerivedPage.MyPage"
...
Title="MyPage">
<Grid>
</Grid>
</Page>
值得一提的是,我对WPF有点陌生,我不知道是否可以在这里使用我的自定义类
您应该告诉编译器显式使用您的类。
<local:MyPage x:Class="DerivedPage.MyPage"
xmlns:local="clr-namespace:AppName.DerivedPage"
...