ITextProvider ITextProvider ITextProvider ITextProvider Interface


Exposes methods and properties to support Microsoft UI Automation client access to controls that contain text. Implement this interface in order to support the capabilities that an automation client requests with a GetPattern call and PatternInterface.Text.

public : interface ITextProvider
struct winrt::Windows::UI::Xaml::Automation::Provider::ITextProvider
public interface ITextProvider
Public Interface ITextProvider

Windows 10 requirements

Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


For more info on this pattern, see Text and TextRange Control Patterns.

ITextProvider, ITextProvider2 and ITextRangeProvider aren't implemented by any existing Windows Runtime automation peers using this definition of the interface. The text models supported by Windows Runtime text controls such as TextBox and RichTextBlock do implement some of these patterns, but do so at a native level that doesn't appear in the Windows Runtime definitions of the API surface. For more info, see the peer classes for the various Windows Runtime text controls.

The Microsoft UI Automation interfaces within the Windows Runtime API exist so that custom control authors can support the automation pattern in a custom control, and implement their automation support using the same Windows Runtime managed or C++ API as they use to define control logic or other automation support.

The ITextProvider pattern doesn't have a Windows Runtime property identifier class.


DocumentRange DocumentRange DocumentRange DocumentRange

Gets a text range that encloses the main text of a document.

SupportedTextSelection SupportedTextSelection SupportedTextSelection SupportedTextSelection

Gets a value that specifies whether a text provider supports selection, and if it does, the type of selection that is supported.


GetSelection() GetSelection() GetSelection() GetSelection()

Retrieves a collection of disjoint text ranges that are associated with the current text selection or selections.

GetVisibleRanges() GetVisibleRanges() GetVisibleRanges() GetVisibleRanges()

Retrieves an array of disjoint text ranges from a text container. Each text range begins with the first partially visible line and ends with the last partially visible line.

RangeFromChild(IRawElementProviderSimple) RangeFromChild(IRawElementProviderSimple) RangeFromChild(IRawElementProviderSimple) RangeFromChild(IRawElementProviderSimple)

Retrieves a text range that encloses a child element, such as an image, hyperlink, or other embedded object.

RangeFromPoint(Point) RangeFromPoint(Point) RangeFromPoint(Point) RangeFromPoint(Point)

Retrieves a text range from the vicinity of a screen coordinate.

See also