2014-01-17 3 views
3

Этот код работаетИспользование SetValue, чтобы добавить обработчик событий

TextBlock tbTest = new TextBlock(); 
tbTest.MouseRightButtonDown += new MouseButtonEventHandler(cc_CopyToClip); 

Но мне нужно сделать то же самое с SetValue
Это не работает - ошибка компилятора

FrameworkElementFactory textblock = new FrameworkElementFactory(typeof(TextBlock)); 
textblock.SetValue(TextBlock.MouseRightButtonDownEvent, += new MouseButtonEventHandler(cc_CopyToClip)); 

Как назначить обработчик события через SetValue?

Ответ

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip)); 

ответ

3

Не зависимо свойство использовать SetValue. Вы можете использовать AddHandler, чтобы добавить обработчик маршрутизируемого события.

+0

Я посмотрел прямо на это, и он не нажал – Paparazzi

8

Для назначения/отмены назначения маршрутизируемого обработчика событий FrameworkElementFactory имеет методы AddHandler и RemoveHandler. Таким образом, ваш вызов должен выглядеть так:

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip)); 
Смежные вопросы