Use UI Automation, to choose an item in Combobox, code like this:
using System.Windows.Automation; public static void SetSelectedComboBoxItem(AutomationElement comboBox, string item) { AutomationPattern automationPatternFromElement = GetSpecifiedPattern(comboBox, "ExpandCollapsePatternIdentifiers.Pattern"); ExpandCollapsePattern expandCollapsePattern = comboBox.GetCurrentPattern(automationPatternFromElement) as ExpandCollapsePattern; expandCollapsePattern.Expand(); expandCollapsePattern.Collapse(); AutomationElement listItem = comboBox.FindFirst(TreeScope.Subtree, new PropertyCondition(AutomationElement.NameProperty, item)); automationPatternFromElement = GetSpecifiedPattern(listItem, "SelectionItemPatternIdentifiers.Pattern"); SelectionItemPattern selectionItemPattern = listItem.GetCurrentPattern(automationPatternFromElement) as SelectionItemPattern; selectionItemPattern.Select(); } private static AutomationPattern GetSpecifiedPattern(AutomationElement element, string patternName) { AutomationPattern[] supportedPattern = element.GetSupportedPatterns(); foreach (AutomationPattern pattern in supportedPattern) { if (pattern.ProgrammaticName == patternName) return pattern; } return null; }
在网上找到这段代码, 发现能用呢! 哈啊哈