2015-02-04 3 views
1

В моем проекте я хочу переопределить обработчик событий Touchup, который построен в WPF. Я не знаю, как переопределить этот обработчик событий для моего собственного использования. Это возможно? Кто-то может привести несколько примеров, я не получаю некоторых ссылок или примеров об этом.как переопределить встроенный обработчик событий в WPF C#

+0

Какое событие вы пытаетесь отменить? –

+0

, такие как Touchup, TouchDown – user2137886

+0

Вы пробовали что-то вроде этого? http://stackoverflow.com/questions/5774849/how-to-override-onclose-event-on-wpf –

ответ

0

Вы можете создать настраиваемый элемент управления и переопределить события. обратитесь к приведенному ниже коду, который я попробовал для элемента управления TextBox.

class TextBoxEx : TextBox 
{ 
    protected override void OnTouchUp(System.Windows.Input.TouchEventArgs e) 
    { 
     base.OnTouchUp(e); 
    } 

    protected override void OnTouchDown(System.Windows.Input.TouchEventArgs e) 
    { 
     base.OnTouchDown(e); 
    } 
} 
0

Это возможно.

Предположим, вы хотите переопределить this TouchUp event (Полностью переопределить его). Вам нужно будет определить новую функцию для ее обработки. Что-то вроде:

private void Custom_TouchUp(object sender, TouchEventArgs e) 
     { 
      // Do some stuff there   
     } 

(Это не может быть TouchEventArgs, я не пробовал, но это выглядит, как это)

Тогда в вашем XAML, в вашем определении объекта, необходимо указать целевой объект, который должен использовать эту функцию. Если это combobox (например), у вас будет что-то вроде этого:

<Combobox [...] TouchUp=Custom_TouchUp> 
    <Eventual parameters> 
</Combobox> 

И вуаля! Ваш объект будет использовать вашу новую функцию.

Предположим, вы просто хотите изменить крошечный бит текущего события, тогда вы можете просто переопределить the OnTouchUp function, который будет вызываться при возникновении события. Что-то вроде этого должно делать:

public override void OnTouchUp() 
     { 
      base.OnTouchUp(); 
      // Other stuffs 
     } 

Но тогда каждый элемент одного класса будет действовать одинаково. Так что это действительно полезно, если вы хотите определить новый пользовательский класс

Смежные вопросы