pap*_*zzo 3 .net wpf event-handling setvalue
这段代码有效
TextBlock tbTest = new TextBlock();
tbTest.MouseRightButtonDown += new MouseButtonEventHandler(cc_CopyToClip);
Run Code Online (Sandbox Code Playgroud)
但我需要用SetValue做同样的事情
这不起作用 - 编译错误
FrameworkElementFactory textblock = new FrameworkElementFactory(typeof(TextBlock));
textblock.SetValue(TextBlock.MouseRightButtonDownEvent, += new MouseButtonEventHandler(cc_CopyToClip));
Run Code Online (Sandbox Code Playgroud)
如何通过SetValue分配事件处理程序?
回答
textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));
Run Code Online (Sandbox Code Playgroud)
分配/取消分配路由事件处理程序FrameworkElementFactory具有AddHandler和RemoveHandler方法.所以你的电话应该是这样的:
textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));
Run Code Online (Sandbox Code Playgroud)