【发布时间】:2017-06-01 08:24:03
【问题描述】:
在 WPF 上,如果我只有一个按钮单击事件共享给两个或更多(更准确地说是 52),有没有办法区分事件来自哪个按钮?
private void Button_Card_Click(object sender, RoutedEventArgs e)
{
// for testing
// it works for each button, but which one has been clicked?
MessageBox.Show("Clicked");
}
【问题讨论】:
-
两个按钮做同样事情的任何特殊原因?如果一个是菜单项,我可以理解
-
这些按钮就像选择器,点击其中一个我会选择一些我要处理的数据
-
欢迎来到 StackOverflow。一个简单的谷歌搜索会将您重定向到完全相同相同的旧 SO 问题。在这种情况下,不要发布其他问题,而是仔细阅读其他问题的可用答案。
-
实际上,我期待一个替代方案来避免为每个按钮创建 52 个方法或 52 个 if 语句。但现在我意识到也许我为此使用了错误的控制,错误的方法。我可以列出可点击的控件(图像、带有图像的列表框)并使用 for 循环将对象或变量链接到它们吗?
-
@DouglasFerreira - 是的,这是个好主意。它有助于保持代码的强类型。