Я создал UserControl, состоящий из пары эллипсов и меток. Я отлично добавил его в другую форму, и все выглядело довольно шикарно.
Затем я начал добавлять обработчики событий и обнаружил, что созданный мной элемент управления не предоставляет событие Click. Ой. Легко исправить, правда? Просто вернитесь к коду пользовательского элемента управления, который я создал, и позвольте ему наследовать Button.
К сожалению, это привело к появлению сообщения «Частичные объявления MyControl не должны указывать другие базовые классы». Это стало неожиданностью, поскольку я не объявил никаких других базовых классов. Поиск рассматриваемой Части также не дал результатов.
Есть ли способ решить эту проблему? Если нет, то какой здесь самый простой обходной путь? Моя цель - просто получить событие Click в UserControl.





Да, вы объявили другие базовые классы :) Просто доверьтесь компилятору :)
Когда вы пишете <UserControl ...></UserControl> в XAML, вы создаете подкласс UserControl. Если вы хотите создать подкласс для Button, используйте вместо него <Button ...></Button> и «: Button» в файле кода программной части.
Но я настоятельно рекомендую вам не создавать подклассы Button, это излишняя задача для вас. Вы можете использовать событие MouseLeftButtonUp вместо события Click.
Событие MouseLeftButtonUp зависит от кнопки, всегда нажатой мышью. Когда пользователь нажимает клавишу пробела, событие Click запускается, а MouseLeftButtonUp - нет (пробел не является левой кнопкой мыши).