使用 UI 自动化获取复选框的切换状态
备注
本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化。
本主题演示如何使用 Microsoft UI 自动化获取控件的切换状态。
示例
此示例使用 AutomationElement 类 GetCurrentPattern 方法,从控件获取 TogglePattern 对象并返回其 ToggleState 属性。
/// <summary>
/// Gets the toggle state of an element in the target application.
/// </summary>
/// <param name="element">The target element.</param>
private bool IsElementToggledOn(AutomationElement element)
{
if (element == null)
{
// TODO: Invalid parameter error handling.
return false;
}
Object objPattern;
TogglePattern togPattern;
if (true == element.TryGetCurrentPattern(TogglePattern.Pattern, out objPattern))
{
togPattern = objPattern as TogglePattern;
return togPattern.Current.ToggleState == ToggleState.On;
}
// TODO: Object doesn't support TogglePattern error handling.
return false;
}
''' <summary>
''' Gets the toggle state of an element in the target application.
''' </summary>
''' <param name="element">The target element.</param>
Private Function IsElementToggledOn(ByVal element As AutomationElement) As Boolean
If element Is Nothing Then
' TODO: Invalid parameter error handling.
Return False
End If
Dim objPattern As Object = Nothing
Dim togPattern As TogglePattern
If True = element.TryGetCurrentPattern(TogglePattern.Pattern, objPattern) Then
togPattern = TryCast(objPattern, TogglePattern)
Return togPattern.Current.ToggleState = ToggleState.On
End If
' TODO: Object doesn't support TogglePattern error handling.
Return False
End Function