【发布时间】:2017-04-04 04:33:38
【问题描述】:
以下是我在检查工具中的控制视图,我正在尝试从树下的文本块返回值:
在我的 WPF windows 应用程序中,数据网格有行和列,并试图获取特定行和列的文本值。第一行的文本值(时间戳)作为子树下的文本块。
检查控件属性有:
数据网格 - 数据网格
日志 - DataItemControlType
项目 - UIA_CustomControlType (DataGridCell)
自定义 - UIA_CustomControlType (DataGridCell)
文本 - UIA_TextControlTypeID
我可以得到总行数但无法得到文本值。
var gridChilds = grid.LowLevelAutomationObject.FindAll(System.Windows.Automation.TreeScope.Children, Condition.TrueCondition).OfType<AutomationElement>();
var rows = gridChilds.Count() ;
List<AutomationElement> messages = new List<AutomationElement>();
TreeWalker walker = new TreeWalker(new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.DataItem));
AutomationElement ae = grdControl as AutomationElement;
AutomationElement row = walker.GetFirstChild(ae);
messages.Add(row);
row = walker.GetNextSibling(row);
string result = Convert.ToString(row);
return result ;
我从在线帮助中尝试了一些类似问题的解决方案,但没有一个适用于我的示例。我是 C# 编码和工具的新手,因此我们将不胜感激。
【问题讨论】:
标签: c# wpfdatagrid ui-automation textblock