Я добавил событие в пользовательский элемент управления, и я вызываю событие в окне потребителя пользовательского элемента управления,
У меня вопрос: какой код генерирует компилятор, когда мы назначаем обработчик событий через IDE?
Так что я могу также использовать нечто подобное для автоматической записи обработчика событий во время выполнения.
Я знаю, что мы можем написать обработчик событий, например, мой обработчик событий, который я пишу здесь:
SearchControl.SearchChangedEvent += new RoutedEventHandler(SearchControl_SearchChanged);
Ошибка, возникающая в этом случае, заключается в том, что нет совпадения по перегрузке, поэтому я пытаюсь сделать то же самое, что компилятор делает через код. Как компилятор автоматически узнает аргументы?
РЕДАКТИРОВАТЬ: Решение.
Я обнаружил проблемную область, в которой я запутался в этой статье: http://msdn.microsoft.com/hi-in/magazine/cc785480%28en-us%29.aspx
В разделе «Обзор перенаправленных событий» автор пишет:
Чтобы увидеть это, перейдите в конструктор для
ваш класс, щелкните правой кнопкой мыши на
Вызов метода InitializeComponent и
выберите Перейти к определению из
контекстное меню. Редактор отобразит
файл сгенерированного кода (с именованием
соглашение .i.g.cs или .i.g.vb)
содержащий код, который обычно
генерируется во время компиляции.
Я нашел код сгенерированный !!
#line 6 "..\..\Window1.xaml"
this.myButton.Click +=
new System.Windows.RoutedEventHandler(
this.myButton_Click);
Спасибо за тех, кого немного смутило постановка задачи. Надеюсь, теперь это проясняется (похоже, я не мог объяснить проблему, пока не нашел решение:)