C# 将方法调用分配给参数中的按钮单击
我创建了一个自定义消息窗口,类似于MessageBox,但在选中复选框之前,按钮处于禁用状态 我想:C# 将方法调用分配给参数中的按钮单击,c#,wpf,delegates,event-handling,C#,Wpf,Delegates,Event Handling,我创建了一个自定义消息窗口,类似于MessageBox,但在选中复选框之前,按钮处于禁用状态 我想: 将任何其他类中的方法作为参数传递给此消息窗口的构造函数 将此方法绑定到按钮单击,以便在单击时执行该方法 我是C#的新手,有点困惑。我怀疑它与委托、Func、EventHandler等有关,我甚至整理了委托和事件的工作方式,但这对我来说有点太多了 问题是这是否可能,如果可能,这背后的逻辑是什么?有什么例子吗 我真的怀疑我是唯一需要它的人。下面是一个使用构造函数传递EventHandler的示例代码
我真的怀疑我是唯一需要它的人。下面是一个使用构造函数传递EventHandler的示例代码: [描述了两种方法(Lambda,方法)]
创建具有ICommand特性的视图模型类。将按钮的命令属性绑定到视图模型属性。在web上搜索MVVM和命令。
class TestWindow
{
public TestWindow(RoutedEventHandler ButtonClickHandler)
{
SomeButton.Click += ButtonClickHandler;
}
}
class Caller
{
void Test()
{
TestWindow A = new TestWindow((S, E) => {
// Event Handler Codes ...
});
TestWindow B = new TestWindow(ClickHandler);
}
private void ClickHandler(object sender, RoutedEventArgs e)
{
// Event Handler Codes ...
}
}