Share via

IValueProvider Interface


Exposes methods and properties to support access by a Microsoft UI Automation client to controls that have an intrinsic value that does not span a range and that can be represented as a string. Implement this interface in order to support the capabilities that an automation client requests with a GetPattern call and PatternInterface.Value.

public interface class IValueProvider
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(545699751, 44046, 18385, 171, 155, 42, 100, 41, 42, 253, 248)]
struct IValueProvider
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Guid(545699751, 44046, 18385, 171, 155, 42, 100, 41, 42, 253, 248)]
public interface IValueProvider
Public Interface IValueProvider

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)


The value string can be editable, depending on the control and its settings. This pattern has guidelines and conventions that aren't fully documented here. For more info on what this pattern is for, see Value Control Pattern.

IValueProvider is implemented by the existing Windows Runtime class ComboBoxAutomationPeer.

The text models supported by Windows Runtime text controls such as TextBox and RichTextBlock don't use the IValueProvider pattern.

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



Gets a value that indicates whether the value of a control is read-only.


Gets the value of the control.



Sets the value of a control.

Applies to

See also