WPF Как получить UserControl для наследования кнопки? - PullRequest
12 голосов
/ 13 декабря 2008

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

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

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

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

1 Ответ

12 голосов
/ 13 декабря 2008

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

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

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

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