wpf用户控件基类问题

时间:2009-10-01 07:31:47

标签: wpf inheritance user-controls

我是WPF的新手,并创建了一个WPF用户控件库

我添加了一个看起来像这样的基类

public class TControl : UserControl
{
}

并希望我的所有控件都从它继承。

我有一个名为Notification的控件,看起来像

public partial class Notification : TControl
{
    public Notification()
    {
        InitializeComponent();
    }

工作正常,除非我重新编译隐藏的部分类,其中定义了InitializeComponent()重新生成并从System.Windows.Controls.UserControl继承

这给了我一个

  

'Twac.RealBoss.UserControls.Notification'的部分声明不得指定不同的基类

误差,

无论如何,

是否强制生成的类继承自我的基类?

2 个答案:

答案 0 :(得分:22)

您的XAML文件可能包含:

<UserControl x:Class="YourNamespace.Notification" .... >

尝试将其更改为:

<Whatever:TControl x:Class="YourNamespace.Notification" xmlns:Whatever="clr-namespace:YourNamespace" />

您得到的错误是因为在XAML中使用UserControl会告诉编译器生成一个继承自UserControl的部分类,而不是继承自您的类。

答案 1 :(得分:2)

您可以完全删除“:TControl”:

public partial class Notification : TControl
{
}

并写:

public partial class Notification
{
}
相反,由于基类是在XAML部分中定义的,正如保罗写的那样。