WPF Как получить UserControl для наследования кнопки?

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

Затем я начал добавлять некоторые обработчики событий и обнаружил, что элемент управления, который я сделал, не подвергал событие Click. К сожалению. Легко исправить, не так ли? Просто вернитесь к кодовомузади в UserControl, который я сделал, и дайте ему наследовать Button.

К сожалению, это вызвало сообщение "Частичные объявления MyControl не должны указывать разные базовые классы". Это стало неожиданностью, поскольку я не объявил никаких других базовых классов. Поиск этого Partial не дал никаких результатов.

Есть ли способ победить эту проблему? Если нет, то что было бы самым простым обходным путем здесь? Моя цель - просто получить событие Click на UserControl.

Ответ 1

Да, вы объявили другие базовые классы:) Просто доверяйте компилятору:)

Когда вы пишете <UserControl ...></UserControl> в XAML, вы подклассифицируете UserControl. Если вы хотите подклассифицировать кнопку, используйте <Button ...></Button> вместо этого и ": Button" в файле кода.

Но я настоятельно рекомендую вам не подклассу Button, ее переполненность для вас. Вы можете использовать событие MouseLeftButtonUp вместо события Click.