【发布时间】:2013-01-03 21:44:50
【问题描述】:
我正在尝试处理从MenuItem.Click 引发的事件。问题是,我需要一些方法来传递一些自定义参数(特别是代表行和列的两个整数)。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
...
MenuItem froNewChild = new MenuItem();
froNewChild.Header = "Insert new box";
froNewChild.Click += new RoutedEventHandler(froNewChild_Click);
// froNewChild.Click += new RoutedEventHandler(froNewChild_Click, column, row);
FlowRectangleOptions.Items.Add(froNewChild);
...
}
private void froNewChild_Click(object sender, RoutedEventArgs e) //+column & row
{
FlowDocument.allColumns[column-1].AddFlowRectangle(column, row);
FlowDocument.ReRenderAll(canvas1);
}
此答案Passing arguments to an event handler 似乎可以满足我的要求,但不能按原样工作,因为sender 已在此范围内定义。遗憾的是,我还没有足够的知识来解决这个问题 - 非常感谢您的建议!
【问题讨论】:
-
哦,总是这样,尝试几个小时,然后在发布问题 4 分钟后弄清楚。忽略这个!但是,如果您对此感兴趣,请感谢 :)
-
column和row的值是从哪里来的?在某处有DataGrid吗? -
仅供阅读本文的任何人参考,解决方案如stackoverflow.com/questions/12293471/… 中所述,但我最终认为“发件人”可以命名为其他名称!
标签: c# .net wpf .net-4.0 event-handling