Использование 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));

2 ответа

Решение

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

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

textblock.AddHandler(TextBlock.MouseRightButtonDownEvent, new MouseButtonEventHandler(cc_CopyToClip));
Другие вопросы по тегам