使用 SetValue 添加事件处理程序



这段代码有效

TextBlock tbTest = new TextBlock();
tbTest.MouseRightButtonDown += new MouseButtonEventHandler(cc_CopyToClip);

但是我需要用 SetValue
做同样的事情这不起作用 - 编译器错误

FrameworkElementFactory textblock = new FrameworkElementFactory(typeof(TextBlock));
textblock.SetValue(TextBlock.MouseRightButtonDownEvent, += new MouseButtonEventHandler(cc_CopyToClip));

如何通过 SetValue 分配事件处理程序?

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));

分配/取消分配路由事件处理程序 FrameworkElementFactory具有AddHandlerRemoveHandler方法。因此,您的呼叫应如下所示:

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));

使用 SetValue 不是依赖属性。可以使用 AddHandler 添加路由事件处理程序。

相关内容

  • 没有找到相关文章

最新更新