Проблема с базовым классом управления пользователями wpf - PullRequest
9 голосов
/ 01 октября 2009

Я новичок в 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 ]

22 голосов
/ 01 октября 2009

Ваш файл XAML, вероятно, имеет:

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

Попробуйте изменить это на:

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

Ошибка, которую вы получаете, заключается в том, что использование UserControl в XAML указывает компилятору создавать частичный класс, наследующий от UserControl, а не наследующий от вашего класса.

2 голосов
/ 01 октября 2009

Вы можете полностью удалить ": TControl":

public partial class Notification : TControl
{
}

и напишите:

public partial class Notification
{
}

вместо этого, поскольку базовый класс определен в части XAML, как писал Пол.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...