[自动化]无法捕获在WinServer2012 R2上运行的目标框架.Net 4.5.2的WindowsFormsApplication的TreeItems
我创建了一个示例Windows应用程序项目,其中包含一个带有两个节点的TreeView
。两个节点中的每一个都具有子节点。
像
-Node0
...Node2
...Node3
-Node1
...Node4
...Node5
...Node6
使用以下代码,似乎无法正确捕获树项目,导致nodes.Count == 1
。我期待Count == 2
(Node0和Node1)
using System.Windows.Automation;
namespace Tester
{
public class Class1
{
public void Test()
{
var desktop = AutomationElement.RootElement;
var forms = desktop.FindAll(TreeScope.Children, new PropertyCondition(AutomationElement.AutomationIdProperty, "MyForm"));
var trees = forms[0].FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "treeView1"));
var nodes = trees[0].FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.TreeItem));
}
}
}
注意:
如果只捕获了1个实例,我一直在使用FindAll()
重新检查。
添加参考:
一些扣除。
1
- 服务器操作系统:Win2008ServerR2
- WinFormsApp目标框架:.Net 4.0
- 结果:确定
2
- 服务器操作系统:Win2008ServerR2
- WinFormsApp目标框架:.Net 4.5.2
- 结果:确定
3
- 服务器操作系统:Win2012ServerR2
- WinFormsApp目标框架:.Net 4.0
- 结果:确定
4
- 服务器操作系统:Win2012ServerR2
- WinFormsApp目标框架:.Net 4.5.2
- 结果:不行 - nodes.Count == 1
5
- 服务器操作系统:Win2012ServerR2
- WPF目标框架:.Net 4.5.2
- 结果:确定
思想?