我正在爲Infragistics UltraWinGrid的UI自動化部分工作。Infragistics UltraWinGrid自動化使用C#
使用「檢查」工具,我能夠看到網格呈現爲窗格,但我無法將其轉換爲UltraWinGrid。
基本上,我想讀的使用C#.NET 4.0
我正在爲Infragistics UltraWinGrid的UI自動化部分工作。Infragistics UltraWinGrid自動化使用C#
使用「檢查」工具,我能夠看到網格呈現爲窗格,但我無法將其轉換爲UltraWinGrid。
基本上,我想讀的使用C#.NET 4.0
從UltaWinGrid行和單元格值試試這個
AutomationElement mTable = mElement;
AutomationElementCollection elementCollection = null;
elementCollection =
mTable.FindAll(TreeScope.Children, Condition.TrueCondition);
int mCount = elementCollection.Count;
for (int i = 0; i <= elementCollection.Count - 1; i++)
{
if (elementCollection[i].Current.Name.ToUpper().IndexOf("ROW") >= 0)
{
AutomationElement mDest = Share.GetElementByNameFromChild(elementCollection[i], ColumnName);
var pattern = ((LegacyIAccessiblePattern)mDest.GetCurrentPattern(LegacyIAccessiblePattern.Pattern));
String state = pattern.Current.Value;
if (Share.CompareString(state, SearchString))
{
watch.Stop();
var elapsedMs = watch.Elapsed.TotalSeconds;
FileAdapter.WriteLog("Search value in Table col " + ColumnName + " and search string: " + SearchString + "," + true.ToString() + "," + elapsedMs);
Share.wait(Utility.delayTime());
return true;
}
}
}
複製到文字板並參見 – LovelyI
嗨,感謝您的回覆。 請注意以下幾點。 1.網格的自動化元素類型是「窗格」(不是表格)。 2.使用Inspect工具,我可以獲得Grid中每一行的AutomationID。 3.我無法讀取整行的文本。 4.每行也被渲染爲「Pane」元素並具有AutomationID。 5.在上面的代碼中,您使用了「共享」,我不確定它來自哪裏。 6.同樣來自「LegacyIAccessiblePattern」來自何處。 要求您提供更多相同的細節,以便我可以嘗試我的結局。 感謝您的時間和幫助。 –
是否UltraWinGrid控制支持UIA網格模式?如果是這樣,您可以通過該模式調用GetItem()以獲取特定行和列處的項目。 Inspect SDK工具將向您顯示控件是否聲明支持網格模式。因此,將Inspect指向該控件,並查看該控件屬性列表中的IsGridPatternAvailable屬性是true還是false。 –