2008-12-23 5 views
1

XAML:Comment faire pour récupérer l'expéditeur dans le gestionnaire de clics depuis toolbartray ou un autre contrôle dans wpf?

<ToolBarTray Name="tlbTray" ButtonBase.Click="tlbTray_Click"> 

<ToolBar Name="tlbFile"> 
    <Button Name="btnOpen"><Image Source="images\folder.png" Stretch="None" /></Button> 
    <Button Name="btnSave"><Image Source="images\disk.png" Stretch="None" /></Button> 
</ToolBar> 

</ToolBarTray> 

code:

private void tlbTray_Click(object sender, RoutedEventArgs e) 
{ 
    // How to get the name of the button or control that triggered the event 
} 

Comme commenté dans la méthode. Comment puis-je obtenir le nom du bouton ou du contrôle qui a déclenché l'événement? Ou je gère cela de la mauvaise façon? Je veux juste acheminer tous les événements de clic à cette seule méthode et décider quoi faire à partir de là ...

Merci! ;-)

Répondre

2

Owkay, je l'ai trouvé!

private void tlbTray_Click(object sender, RoutedEventArgs e) 
{ 
    Button button = (Button)e.OriginalSource; 
} 
1

Dans votre utilisation du gestionnaire:

Button test = (Button)sender; 
if(test.Name=="btnOpen") 
{ 
    //Do something 
} 
+0

En fait non ... L'expéditeur n'est pas le bouton mais tlbTray dans les applications wpf. C'est exactement la raison pour laquelle j'ai posé cette question. Je ne vois pas où je peux obtenir l'expéditeur original. –

+0

Eh bien, j'apprends quelque chose de nouveau tous les jours – Nate

Questions connexes