Флажок System.Windows.Forms.ListView не распознается UIA verrify
Я довольно новичок в UI Automation и UI Verify.
В нашем приложении мы используем System.Windows.Forms.ListView со свойством CheckBoxes, установленным в true.
Свойство CheckBoxes позволяет отображать флажок рядом с каждым элементом в списке. Это позволяет вашему приложению отображать список элементов (и подэлементов, если для свойства View установлено значение View.Details)
Пока идентифицируется отдельный ряд и все значения в каждом ряду. Только флажок не распознается при проверке пользовательского интерфейса.
пространство имен WindowsFormsApplication1 {открытый частичный класс Form1: Form {public Form1 () {InitializeComponent ()
listView1.CheckBoxes = true;
listView1.View = View.Details;
listView1.Columns.Add("Automation");
listView1.Columns.Add("result");
listView1.Items.Add(new ListViewItem(new string[] { "1", "Pass" }));
}
}
Вывод: оба значения "1" и "проход" распознаются проверкой МСА. Однако флажок не распознается.
Кто-нибудь еще испытывал подобное поведение? и если так, есть ли какое-то решение для этого?
Очень ценю за помощь.
С уважением Хари Хара
2 ответа
Из того, что я вижу, весь элемент списка поддерживает шаблон переключения.
Таким образом, вы должны иметь возможность использовать шаблон переключения самого элемента управления строкой.
/// <summary>
/// Toggles anything that supports the toggle pattern
/// </summary>
/// <param name="aeElement">Automation element to toggle</param>
public void Toggle(AutomationElement aeElement)
{
TogglePattern tpToggle = (TogglePattern)aeElement.GetCurrentPattern(TogglePattern.Pattern);
tpToggle.Toggle();
}
Вы используете режим "зависания"? Попробуйте проверить структуру панели рядом с элементами-флажками в левой панели окна верификатора UIA.