将我自己的事件添加到WPF控件中所涉及的内容
本文关键字:控件 自己的 我自己 事件 添加 WPF | 更新日期: 2023-09-27 18:25:20
我经常不得不在WPF项目中使用TouchDown/TouchUp事件来检测"双击";有时在列表框上,有时是按钮,有时是遥控器。如何将DoubleTap事件和事件处理程序添加到这些控件中?工作太大了?
您可以创建一个类,该类是通过引用控件和委托函数构建的。(请原谅我不完美的语法[如果它不完美],我是从内存中键入的)
public class DoubleTap {
delegate void ActionFunction();
Control ReferencedControl;
public DoubleTap ( ref Control referencedControl , delegate actionFunction ) {
ActionFunction = actionFunction;
ReferencedControl = referencedControl;
// apply TouchDown and TouchUp event handlers to ReferencedControl
}
// Put your TouchDown and TouchUp functions for testing the double tap here
// when double tap tests as true then call ActionFunction();
}
您必须为此使用行为。这将包括从System.Windows.Interactivity.Behavior创建派生类型,并重写TouchDown/TouchUp的OnAttached方法。
有关如何实现行为的信息,请参阅WPF教程|行为和WPF中附加行为的介绍。