2011-06-15 69 views
0

我目前正在與一組成員一起開發一個程序,他們也不知道如何解決這個問題。我創建了一組專業用戶控件「ImageButton」。我正在使用該程序的菜單部分。菜單本身是另一個用戶控件。帶ButtonBase的路由事件參數

他們目前使用ButtonBase.Click來訪問按鈕,但它不適用於我的新ImageButtons。

ButtonBase.Click導致一個名爲「MainMenu_Click」的事件。

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

我已經嘗試解析它們作爲ImageButtons,但它沒有奏效。所以我需要一個類似於ButtonBase.Click的解決方案,但對於我的ImageButton。

編輯: 有3個文件,我有工作: MainWindow.xaml(及其CS) MainMenu.xaml(及其CS) ImageButton.xaml(及其CS)

的MainMenu有幾個ImageButtons就可以了。 MainMenu在MainWindow上使用。其中一個屬性是ButtonBase.Click。但我需要爲ImageButton設置而不是System.Windows.Controls.Button。

+0

不知道你的問題是什麼。你的意思是「我如何在ImageButton上實現點擊事件」? – 2011-06-15 17:09:11

+0

我的ImageButton已經有一個點擊事件。問題是,由於解析問題,我無法獲得上述功能。我需要能夠爲我的ImageButton設置一個ButtonBase.Click屬性,該屬性被解析爲一個ImageButton類型。 – MeisterGao 2011-06-15 17:14:53

回答

0

你需要讓你的ImageButton從ButtonBase(或Button)派生 - 那麼你將得到所有的ButtonBase,比如Click事件。這樣做很簡單。我有一個RibbonButton,就像一個圖像按鈕,它從Button作爲自定義控件派生而來。您在Generic.xaml中編寫模板來設置外觀,然後添加任何其他屬性和代碼。

+0

它已被設置的是ImageButton:在cs文件中的UserControl。我只是將用戶控件更改爲按鈕? – MeisterGao 2011-06-15 17:28:34

+0

我應該注意到,我的老闆想要它作爲一個用戶控件。 – MeisterGao 2011-06-15 17:42:43

+0

您需要將其更改爲Button或基於ButtonBase的自定義控件。你不能在UserControl上使用ButtonBase.Click,因爲ButtonBase.Click只是爲ButtonBase定義的;它不是附屬的財產。 – 2011-06-15 18:01:31