gpt4 book ai didi

c# - 如何使用 UI 自动化选择树项?

转载 作者:太空宇宙 更新时间:2023-11-03 16:13:47 25 4
gpt4 key购买 nike

我试图从应用程序中选择一个树项目,但得到“无法执行操作”。我尝试使用 UI Spy 选择树项并得到相同的错误。

Element : "tree item" "Network" Name : InvalidOperationException Message : Operation cannot be performed. Stack Trace : at MS.Internal.AutomationProxies.WindowsTreeView.TreeViewItem.System.Windows.Automation.Provider.ISelectionItemProvider.Select() at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at MS.Internal.Automation.UiaCoreApi.CheckError(Int32 hr) at System.Windows.Automation.SelectionItemPattern.Select()

从 UI Spy 我知道 SelectionItem 是一种受支持的模式。这是部分代码

AutomationElement  Item = _ParentNode.FindFirst(TreeScope.Descendants, new AndCondition(
new PropertyCondition(AutomationElement.NameProperty, "Network"),
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.TreeItem)));

SelectionItemPattern ItemToSelect = Item .GetCurrentPattern(SelectionItemPattern.Pattern) as SelectionItemPattern;
ItemToSelect.Select();

知道我做错了什么吗?

最佳答案

请以编程方式验证自动化元素“Item”是否支持 SelectionPattern 控制模式。

private SelectionPattern GetSelectionPattern(
AutomationElement targetControl)
{
SelectionPattern selectionPattern = null;

try
{
selectionPattern =
targetControl.GetCurrentPattern(SelectionPattern.Pattern)
as SelectionPattern;
}
// Object doesn't support the SelectionPattern control pattern
catch (InvalidOperationException)
{
return null;
}

return selectionPattern;

来源:https://msdn.microsoft.com/en-us/library/ms604455(v=vs.110).aspx

关于c# - 如何使用 UI 自动化选择树项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16491411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com