2013-11-30 2 views
0

Как подключиться к событию текстового поля Mouse.PreviewMouseDownOutsideCapturedElementEvent. TheПрисоединить событие к текстовому полю

AddHandler(Mouse.PreviewMouseDownOutsideCapturedElementEvent, 
       new EventHandler<MouseButtonEventArgs>(HandleClickOutsideOfControl), true); contrstruction is not working. 

Я пытался сделать это в textbox_loaded случае. я получил исключение

"An unhandled exception of type 'System.ArgumentException' occurred in PresentationCore.dll 

Additional information: Handler type is mismatched." 

ответ

2

Эта ошибка для этого метода может быть вызвана с недопустимыми аргументами. В этом случае может возникнуть исключение ArgumentException. Исключения используют производные типы, чтобы указать их значение. Но это не дает им дополнительных способностей.

Используйте это:

AddHandler(Mouse.PreviewMouseDownOutsideCapturedElementEvent, 
      new MouseButtonEventHandler(HandleClickOutsideOfControl), true); 
+0

Спасибо, это действительно работает! – Alex

2

Попробуйте это:

AddHandler(Mouse.PreviewMouseDownOutsideCapturedElementEvent, 
      new MouseButtonEventHandler(HandleClickOutsideOfControl), true); 

Вы также отметить, что подпись HandleClickOutsideOfControl должно быть так:

void HandleClickOutsideOfControl(object sender, MouseButtonEventArgs e){...} 

Ваша ошибка в том, что вы думали Общий делегат EventHandler<MouseButtonEventArgs> тот же и может заменить MouseButtonEventHandler, но они совершенно разные делегаты.

+0

Спасибо! Работает! – Alex

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