使用ButtonBase的路由事件Args

时间:2011-06-15 17:04:07

标签: wpf-controls dependency-properties routed-events

我目前正在与一个成员团队合作开展一项计划,他们也不知道如何解决这个问题。我创建了一组专业用户控件“ImageButton”。我正在使用它作为程序的菜单部分。菜单本身是另一个用户控件。

他们目前正在使用ButtonBase.Click访问按钮,但它不适用于我的新ImageButtons。

ButtonBase.Click会导致名为“MainMenu_Click”的事件。

private void MainMenu_Click(object sender,RoutedEventArgs e)         {             按钮_menuButtonClicked =(按钮)e.OriginalSource;             this.ShowMainPage((MainMenuCommands)_menuButtonClicked.Tag);         }

我已经尝试将它们解析为ImageButtons但它没有用。所以我需要一个类似于ButtonBase.Click但我的ImageButtons的解决方案。

编辑: 我正在使用3个文件: MainWindow.xaml(及其cs) MainMenu.xaml(及其cs) ImageButton.xaml(及其cs)

MainMenu上面有几个ImageButtons。 MainMenu用于MainWindow。要设置的属性之一是ButtonBase.Click。但我需要为ImageButtons设置而不是System.Windows.Controls.Button。

1 个答案:

答案 0 :(得分:0)

您需要使您的ImageButton从ButtonBase(或Button)派生 - 然后您将获得所有ButtonBase,例如像Click这样的事件。实际上这很简单。我有一个RibbonButton就像一个图像按钮,它从Button派生为一个自定义控件。您在Generic.xaml中编写模板以设置外观,然后添加任何其他属性和代码。