Посмотрите на сгенерированный код Coded UI Tests для WpfControl
. У него есть свойство NativeElement. Это свойство является AutomationElement
.
public abstract class WpfControl : UITestControl
{
...
public virtual object NativeElement
{
get
{
return ((object)(this.GetProperty(UITestControlProperties.Common.NativeElement)));
}
}
...
}
Вы можете написать метод расширения для его приведения и получить ItemStatus.
public static string GetItemStatus(this WpfControl control)
{
var automationElement = (AutomationElement)control.NativeElement;
return automationElement.Current.ItemStatus;
}
Я не уверен, почему NativeElement записывается как object
(что делает избыточным приведение приведения геттера). Все элементы управления WPF 'NativeElement имеют тип AutomationElement
. Я бы предложил отредактировать сгенерированный код и просто вызвать control.NativeElement.Current.ItemStatus
напрямую.