Что входит в добавление моего собственного события в элементы управления WPF? - PullRequest
2 голосов
/ 21 февраля 2012

Мне постоянно приходится использовать события TouchDown / TouchUp здесь, в моем проекте WPF, чтобы обнаружить «двойное касание»; иногда в списке, иногда в кнопке, иногда в Telerik Control. Как мне добавить о событии DoubleTap и обработчике событий к этим элементам управления? Слишком большая работа?

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Вы можете создать класс, который создается со ссылкой на элемент управления и функцию делегата. (Пожалуйста, прости мой не идеальный синтаксис [если он не идеален], я набираю это по памяти)

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();
}
0 голосов
/ 21 февраля 2012

Для этого вам нужно будет использовать поведение. Это будет включать создание производного типа из System.Windows.Interactivity.Behavior и переопределение метода OnAttached для TouchDown / TouchUp.

См. WPF Учебник |Поведения и Введение в присоединенное поведение в WPF для реализации способов поведения.

...