Аргументированные события с помощью ButtonBase - PullRequest
0 голосов
/ 15 июня 2011

Я сейчас работаю над программой с командой участников, и они тоже не знают, как это решить. Я создал набор специализированных пользовательских элементов управления «ImageButton». Я использую это для раздела меню программы. Само меню является еще одним пользовательским элементом управления.

В настоящее время они используют ButtonBase.Click для доступа к кнопкам, но это не работает с моими новыми кнопками ImageButtons.

ButtonBase.Click приводит к событию под названием «MainMenu_Click».

private void MainMenu_Click (отправитель объекта, RoutedEventArgs e) { Button _menuButtonClicked = (Button) e.OriginalSource; this.ShowMainPage ((MainMenuCommands) _menuButtonClicked.Tag); }

Я уже пытался разобрать их как ImageButtons, но это не сработало. Поэтому мне нужно решение, похожее на ButtonBase.Click, но для моих ImageButtons.

Edit: Есть 3 файла, с которыми я работаю: MainWindow.xaml (и его cs) MainMenu.xaml (и его cs) ImageButton.xaml (и его cs)

MainMenu имеет несколько кнопок ImageButton. MainMenu используется в MainWindow. Одним из устанавливаемых свойств является ButtonBase.Click. Но мне нужно, чтобы это было настроено для ImageButtons, а не для System.Windows.Controls.Button.

1 Ответ

0 голосов
/ 15 июня 2011

Вам нужно будет сделать вашу ImageButton производной от ButtonBase (или Button) - тогда вы получите все ButtonBase, например, такие события, как Click. На самом деле это довольно просто сделать. У меня есть RibbonButton, который похож на кнопку с изображением, которая является производной от Button как пользовательский элемент управления. Вы пишете шаблон в Generic.xaml, чтобы установить внешний вид, а затем добавляете любые другие свойства и код.

...