我已经引用了以下MSDN文章并成功实现了默认ControlTypes的属性返回(UIAutomation)。
以下是示例代码
object IRawElementProviderSimple.GetPropertyValue(int propId)
{
if (propId == AutomationElementIdentifiers.NameProperty.Id)
{
return "Custom list control";
}
else if (propId == AutomationElementIdentifiers.ControlTypeProperty.Id)
{
return ControlType.List.Id;
}
else if (propId == AutomationElementIdentifiers.IsContentElementProperty.Id)
{
return true;
}
else if (propId == AutomationElementIdentifiers.IsControlElementProperty.Id)
{
return true;
}
else
{
return null;
}
}
在上面的代码中,如果属性id是控件类型,我们可以返回System.Windows.Automation.ControlType中列出的默认ControlTypes。
我已将此MSDN article引用以注册自定义属性。不幸的是我无法实现这一点。
但我担心是否可以返回自定义控件的属性。你能建议你的想法吗?