Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Сигналы в FrameworkElementFactory


Автор: hexzo 29.8.2011, 09:19
А как там к ним делегаты присоединять то?  smile 

Вот мой TextBox.
Код
FrameworkElementFactory facElem = new FrameworkElementFactory(typeof(TextBox));


Вроде создаю соответствующую функцию.
Код

public delegate void delegateKey(object sender, System.Windows.Input.KeyEventArgs e);
delegateKey d = (sender, e) => { Console.WriteLine("QQ"); };
facElem.AddHandler(TextBox.KeyDownEvent, d);


А в результате Handler type is not valid.

Ну как он может быть не валидным если тип делегата совпадает?
Код

public delegate void KeyEventHandler(
    Object sender,
    KeyEventArgs e
)


==== Добавлено ===
А так работает. Ничего не понимаю.  smile 
Цитата

facElem.AddHandler(TextBox.KeyDownEvent, new System.Windows.Input.KeyEventHandler((sender, e) => { Console.WriteLine("QQ"); }));

==== Ещё добавлено ===
А вот так вот не работает.  smile 
Код

facElem.AddHandler(TextBox.KeyDownEvent, (System.Windows.Input.KeyEventHandler)d );


Добавлено через 14 минут и 21 секунду
Наверное делегаты даже с одинаковым объявлением в друг друга конвертироваться не будут.
Потому проще так делать.
Код

System.Windows.Input.KeyEventHandler d = (sender, e) => { Console.WriteLine("QQ"); };
        facElem.AddHandler(TextBox.KeyDownEvent, d );


Всем спасибо за помощь.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)