TextPatternRange.GetAttributeValue(AutomationTextAttribute) メソッド

定義

指定した属性の値をテキスト範囲全体から返します。

public:
 System::Object ^ GetAttributeValue(System::Windows::Automation::AutomationTextAttribute ^ attribute);
public object GetAttributeValue (System.Windows.Automation.AutomationTextAttribute attribute);
member this.GetAttributeValue : System.Windows.Automation.AutomationTextAttribute -> obj
Public Function GetAttributeValue (attribute As AutomationTextAttribute) As Object

パラメーター

attribute
AutomationTextAttribute

テキスト属性。

戻り値

指定した属性の値を返します。 たとえば、GetAttributeValue(TextPattern.FontNameAttribute) はテキスト範囲のフォント名が一意の場合にそのフォント名を表す文字列を返し、GetAttributeValue(TextPattern.IsItalicAttribute) はブール値を返します。

指定した属性の値がテキスト範囲内で異なる場合は MixedAttributeValue を返します。

指定された属性がプロバイダーまたはコントロールによってサポートされない場合は NotSupported を返します。

例外

指定した属性が無効な場合。

 private Object AttributeValueFromSelection(AutomationElement target)
{
    // Specify the control type we're looking for, in this case 'Document'
    PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

    // target --> The root AutomationElement.
    AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

    TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

    if (textpatternPattern == null)
    {
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
        return null;
    }
    TextPatternRange[] currentSelection = textpatternPattern.GetSelection();
    // Is 'italic'?
    return currentSelection[0].GetAttributeValue(TextPattern.IsItalicAttribute);
}
Private Function AttributeValueFromSelection(ByVal target As AutomationElement) As Object
    ' Specify the control type we're looking for, in this case 'Document'
    Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)

    ' target --> The root AutomationElement.
    Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)

    Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)

    If (textpatternPattern Is Nothing) Then
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
        Return Nothing
    End If
    Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
    ' Is 'italic'?
    Return currentSelection(0).GetAttributeValue(TextPattern.IsItalicAttribute)
End Function

注釈

非表示のテキストと表示されるテキストは区別されません。 UI オートメーション クライアントは、 を使用IsHiddenAttributeしてテキストの表示をチェックできます。

適用対象