WPF - обработка RoutedEvent в родительском объекте для конкретного экземпляра элемента управления

В моем пользовательском контроле у ​​меня есть несколько текстовых полей, например Textbox1, Textbox2.

В родительском я хочу только обрабатывать события KeyDown, вызванные из Textbox1, не все Textbox

Я добавил обработчик в родительском

this.AddHandler(TextBox.KeyDownEvent, new RoutedEventHandler(OnTextboxGoToPageKeyDown));

но, конечно, это будет обрабатывать все события KeyDown, которые я не хочу.

Должен ли я добавить некоторую условную логику в RoutedEventHandler, чтобы проверить, откуда возникло событие?

или есть лучший способ?

Какой лучший способ сделать это?

Благодарю.

1 ответ

Решение

RoutedEventArgs в вашем OnTextboxGoToPageKeyDown имеет свойство с именем Source которые имеют ссылки на объект, который вызвал событие. Вы можете запросить это свойство, когда вам нужно выполнить свою логику.

НТН

Другие вопросы по тегам