我有一个典型的游戏网格 - 由Buttons组成的UniformGrid。每个按钮都与各个“Cell”对象数据绑定。有没有办法在Button的点击处理程序中访问按钮本身(以及扩展名,按钮绑定的特定对象)?
答案 0 :(得分:3)
如果每个按钮处理自己的click事件,那么您可以使用传递给事件处理程序的sender
:
var button = sender as Button;
或者Button.Click
上的所有按钮都有一个UniformGrid
处理程序,例如
var button = e.OriginalSource as Button;
然后获取DataContext
就像以下一样简单:
var context = button.DataContext;