gpt4 book ai didi

c# - 为什么尝试在WPF/C#中注册所有事件时出现构建错误?

转载 作者:行者123 更新时间:2023-12-02 10:55:36 25 4
gpt4 key购买 nike

下面是我的窗口中的构造函数和事件处理程序。

    public MyWindow() {
InitializeComponent();

foreach (RoutedEvent routedEvent in EventManager.GetRoutedEvents())
{
EventManager.RegisterClassHandler(typeof(TestUnbuggerWindow), routedEvent, OnRoutedEvent, true);
}
}

public void OnRoutedEvent(Object sender, RoutedEventArgs args)
{
}

我正在尝试预览所有事件,因为我正在学习WPF,我认为这可能会揭露一些未发生的事情。无论如何,我得到以下构建错误:
Error   1   The best overloaded method match for 'System.Windows.EventManager.RegisterClassHandler(System.Type, System.Windows.RoutedEvent, System.Delegate, bool)' has some invalid arguments
Error 2 Argument 3: cannot convert from 'method group' to 'System.Delegate'

我得到了从 this website注册所有事件的循环。

我相信问题是由方法签名不匹配引起的,但是我不确定。有人可以帮我一下吗?

最佳答案

您需要显式使用处理程序

EventManager.RegisterClassHandler(typeof(TestUnbuggerWindow), 
routedEvent, new RoutedEventHandler(OnRoutedEvent), true);

这是因为编译器需要知道所需的处理程序类型,并且由于签名采用 Delegate类型,因此无法推断出您想要 RoutedEventHandler

关于c# - 为什么尝试在WPF/C#中注册所有事件时出现构建错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10730307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com