在WPF应用程序,我有我的事件一类集中这样的:如何将添加参数传递给我的集中事件处理程序?
public class EventFactory
{
public static void Button_Edit_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("you clicked edit");
}
public static void Button_Add_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("you clicked add");
}
}
让我可以重用他们在许多的Windows这样的:
public Window1()
{
InitializeComponent();
ButtonEdit.Click += EventFactory.Button_Edit_Click;
ButtonAdd.Click += EventFactory.Button_Add_Click;
}
这工作正常,但现在我想要事件在Windows上调用它们,我称它们为,当事件处理程序仅仅处于每个窗口的代码隐藏。
我该如何注入一个窗口对象到事件处理程序,以便该事件处理程序可以直接操纵它,像这样:
ButtonEdit.Click += EventFactory.Button_Edit_Click(this);
感谢您的代码,运作良好,因为它是一个简单有用的模式将事件移出代码 – 2009-12-14 08:19:26