Как получить отправителя в обработчике кликов из toolbartray или другого элемента управления в wpf? - PullRequest
1 голос
/ 23 декабря 2008

XAML:

<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>

Код:

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

Как прокомментировано в методе. Как я могу получить название кнопки или элемента управления, которые вызвали событие. Или я справляюсь с этим неправильно? Я просто хочу перенаправить все события кликов на этот метод и решить, что делать дальше ...

Спасибо! ; -)

Ответы [ 2 ]

2 голосов
/ 23 декабря 2008

Owkay, я нашел это!

private void tlbTray_Click(object sender, RoutedEventArgs e)
{
  Button button = (Button)e.OriginalSource;
}
1 голос
/ 23 декабря 2008

В вашем обработчике используйте:

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