wpf用户控件基类问题
我是WPF新手,已经创建了WPF用户控制库 我添加了一个基类,如下所示wpf用户控件基类问题,wpf,inheritance,user-controls,Wpf,Inheritance,User Controls,我是WPF新手,已经创建了WPF用户控制库 我添加了一个基类,如下所示 public class TControl : UserControl { } 并希望我的所有控件都继承自它 我有一个名为Notification的控件 public partial class Notification : TControl { public Notification() { InitializeComponent(); } 工作正常,除非我重新编译定义了Init
public class TControl : UserControl
{
}
并希望我的所有控件都继承自它
我有一个名为Notification的控件
public partial class Notification : TControl
{
public Notification()
{
InitializeComponent();
}
工作正常,除非我重新编译定义了InitializeComponent()的隐藏部分类时重新生成并从System.Windows.Controls.UserControl继承
这给了我一个机会
“Twac.RealBoss.UserControls.Notification”的部分声明不能指定不同的基类
错误
是否仍有强制生成的类从我的基类继承的方法?您的XAML文件可能有:
<UserControl x:Class="YourNamespace.Notification" .... >
尝试将此更改为:
<Whatever:TControl x:Class="YourNamespace.Notification" xmlns:Whatever="clr-namespace:YourNamespace" />
您遇到的错误是因为在XAML中使用UserControl会告诉编译器生成从UserControl继承的部分类,而不是从您的类继承的部分类。您可以完全删除“:TControl”: 并写下:
public partial class Notification
{
}
相反,正如Paul所写的那样,由于基类是在XAML部分中定义的。绝对正确,因此我将其保留在那里,以提醒我它不仅仅从usercontrol继承。TControl还没有做任何事情,但在将来它可能会做。另外,我不会使用匈牙利符号(TControl,而不是Control),不像Delphi那样,在C#(或Java或C++)中不推荐它。在Delphi中,它是必需的,因为语言不区分大小写。
public partial class Notification
{
}