Я использую инструменты автоматизации Microsoft для добавления обработчиков изменений в текстовое поле. Код ниже:MS UI Automation- AddAutomationHandler не работает
// Get a reference to the textbox.
var textbox = window.FindFirst(
TreeScope.Descendants,
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit)
);
// Bind a property change handler to the textbox -- this works great
Automation.AddAutomationPropertyChangedEventHandler(
textbox,
TreeScope.Element,
(o, e) => { Console.WriteLine("Textbox value property event"); },
ValuePattern.ValueProperty
);
//A different way of binding - why doesn't this fire?
Automation.AddAutomationEventHandler(
TextPatternIdentifiers.TextChangedEvent, // is this the right event?
textbox,
TreeScope.Element,
(o, e) => { Console.WriteLine("Text Changed Event (I want this to fire please)"); }
);
Всякий раз, когда текстовое поле изменяется, добавленная Automation.AddAutomationEventHandler
обработчик события добавил Automation.AddAutomationPropertyChangedEventHandler
пожаров просто отлично, но обработчик события не срабатывает.
Должен ли я слушать здесь различные мероприятия? Какое это событие должно быть?
Инструмент AccEvent настолько полезен! Раньше я об этом не знал. Благодаря! Просто из любопытства - есть ли причина, по которой эти элементы управления не будут запускать определенные виды событий (например, почему кнопка не выдавала invokedEvent при нажатии?) – Jeff
Добавление другого ответа для вставки изображения ... –