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