Я пишу программное обеспечение для автоматизации пользовательского интерфейса. Мне нужно выбрать строку в datagrid, а затем нажать кнопку запуска. Я пробовал большинство примеров кода в Интернете, и они не работали для меня. Например, для выбора GridView строки:Выберите строку datagrid с помощью автоматизации пользовательского интерфейса
Когда я пишу следующий код:
AutomationElement dataGrid = this.mainWindow.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.AutomationIdProperty, "2885"));
if (dataGrid != null)
{
GridPattern pattern = GetGridPattern(dataGrid);
AutomationElement tempElement = pattern.GetItem(1, 1);
tempElement.SetFocus();
}
Я получаю ошибку: «Target элемент не может получить фокус.» который связан с последней строкой.
Я также попытался код:
AutomationElement mainGrid = // find the grid in the window
var columnCount = (int)mainGrid.GetCurrentPropertyValue(GridPattern.ColumnCountProperty);
var mainGridPattern = (GridPattern)mainGrid.GetCurrentPattern(GridPattern.Pattern);
var rowToSelect = 2;
// select just the first cell
var item = mainGridPattern.GetItem(rowToSelect, 0);
var itemPattern = (SelectionItemPattern)item.GetCurrentPattern(SelectionItemPattern.Pattern);
itemPattern.Select();
, но я и получили ошибку: "неподдерживаемую Pattern".
Следует упомянуть, что я использую UI Spy для извлечения свойств элементов.
Не могли бы вы объяснить мне, что случилось, и как выбрать строку? ! [UI Spy] [1]