如何从toolbartray或wpf中的其他控件中单击处理程序中检索发件人?

时间:2008-12-23 18:38:23

标签: .net wpf events

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 个答案:

答案 0 :(得分:2)

Owkay,我找到了它!

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

答案 1 :(得分:1)

在你的处理程序中使用:

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