2015-06-22 60 views
2

我想在app.xaml中的每個按鈕被點擊時在多個按鈕之間切換兩個以前定義的樣式。我嘗試了一個通用的事件處理程序,但它會顯示錯誤'button_Click'沒有重載與委託'Windows.UI.Xaml.RoutedEventHandler'匹配。我相信它與簽名有關,但無法完全解決它。下面是在MainPage.xaml.cs中實現的方法C#/ XAML錯誤沒有爲'button_Click'重載匹配委託'Windows.UI.Xaml.RoutedEventHandler'

public void button_Click(object sender, EventArgs e) 
    { 
     var button = (Button)sender; 
     if (button.Style != myButtonStyle) 
      button.Style = myButtonStylePressed; 
     else 
      button.Style = myButtonStyle; 
    } 

這就是在MainPage.xaml中如何在一個按鈕示例中實現的方法。

<Button Name="Row5Col4" 
      Grid.Row ="5" 
      Grid.Column ="4" 
      Margin="10, 10, 10, 10" 
      Height="10" 
      Width="10" 
      HorizontalAlignment="Left" 
      BorderThickness="0" 
      Style="{StaticResource myButtonStyle}" 
      Click="button_Click" 
      > 
    </Button> 

重要提示:有些人推薦使用MouseClick而不是Click,但由於它是WP應用程序,因此這不起作用。我很感激你停下來。

,根據到Visual Studio將導致錯誤的線是這個 點擊=「button_Click」

+3

'button_Click(對象發件人,RoutedEventArgs E)'..那麼它應該工作:) –

回答

6

按鈕的Click事件沒有EventArgs.According的參數類型MSDN page,它有是RoutedEventArgs

所以,你的代碼必須是:

public void button_Click(object sender, RoutedEventArgs e) 
{ 
    var button = (Button)sender; 
    if (button.Style != myButtonStyle) 
     button.Style = myButtonStylePressed; 
    else 
     button.Style = myButtonStyle; 
} 
相關問題