Флажок 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.

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