I​Selection​Provider I​Selection​Provider I​Selection​Provider I​Selection​Provider Interface


Exposes methods and properties to support access by a Microsoft UI Automation client to controls that act as containers for a collection of individual, selectable child items. The children of this element must implement ISelectionItemProvider. Implement ISelectionProvider in order to support the capabilities that an automation client requests with a GetPattern call and PatternInterface.SelectionItem.

public : interface ISelectionProviderpublic interface ISelectionProviderPublic Interface ISelectionProvider// This API is not available in Javascript.
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


This pattern has guidelines and conventions that aren't fully documented here. For more info on what this pattern is for, see Selection Control Pattern. However, you don't need to follow the guidance regarding IRawElementProviderFragmentRoot, that is specific to COM provider implementations and the interface doesn't exist in the Windows Runtime automation provider API.

ISelectionProvider is implemented by the existing Windows Runtime class SelectorAutomationPeer, which is the base class for ComboBoxAutomationPeer and ListBoxAutomationPeer.

Use SelectionPatternIdentifiers if you want to reference the ISelectionProvider pattern properties from control code when you fire automation events or call RaisePropertyChangedEvent.


CanSelectMultiple CanSelectMultiple CanSelectMultiple CanSelectMultiple

Gets a value that indicates whether the Microsoft UI Automation provider allows more than one child element to be selected concurrently.

public : PlatForm::Boolean CanSelectMultiple { get; }public bool CanSelectMultiple { get; }Public ReadOnly Property CanSelectMultiple As bool// This API is not available in Javascript.
PlatForm::Boolean bool bool bool

true if multiple selection is allowed; otherwise, false.

IsSelectionRequired IsSelectionRequired IsSelectionRequired IsSelectionRequired

Gets a value that indicates whether the UI Automation provider requires at least one child element to be selected.

public : PlatForm::Boolean IsSelectionRequired { get; }public bool IsSelectionRequired { get; }Public ReadOnly Property IsSelectionRequired As bool// This API is not available in Javascript.
PlatForm::Boolean bool bool bool

true if selection is required; otherwise, false.


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

Retrieves a UI Automation provider for each child element that is selected.

public : IRawElementProviderSimple[] GetSelection()public IRawElementProviderSimple[] GetSelection()Public Function GetSelection() As IRawElementProviderSimple[]// This API is not available in Javascript.
IRawElementProviderSimple[] IRawElementProviderSimple[] IRawElementProviderSimple[] IRawElementProviderSimple[]

An array of UI Automation providers.

See Also