Windows UI Automation选择组合框

时间:2015-09-23 14:11:02

标签: c# .net combobox ui-automation microsoft-ui-automation

我正在尝试使用Windows UI Automation API根据其值选择项目。

我有一个继承自ComboBox

的班级UIAutomation.Element

此外,我在这个组合框元素上有一个方法,应该可以用string调用来选择匹配的组合框

我尝试了以下内容:

public void SetSelectedItem(string itemName, ITimeout timeout = null)
{
    var comboboxItem = this.GetSelf(timeout).FindAll(TreeScope.Children, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.ListItem));

    var expandCollapsePattern = (ExpandCollapsePattern)this.GetSelf(timeout).GetCurrentPattern(ExpandCollapsePattern.Pattern);
    expandCollapsePattern.Expand();
    var itemToSelect = ?????

    var selectItemPattern = (SelectionItemPattern)itemToSelect.GetCurrentPattern(SelectionItemPattern.Pattern);
    selectItemPattern.Select();
}

但我真的不知道如何在第var itemToSelect = ?????行检索正确的项目。

变量comboboxItem的类型为AutomationElementCollection但不幸的是,Linq似乎无法使用此类型...

您知道如何检索正确的项目吗?

或者我做错了什么?

提前致谢

1 个答案:

答案 0 :(得分:1)

由于@TnTinMn的提示,我找到了答案,谢谢! : - )

GetFilterExpr