IWindowProvider IWindowProvider IWindowProvider IWindowProvider Interface


Exposes methods and properties to support access by a Microsoft UI Automation client to controls that provide fundamental window-based functionality within a traditional graphical user interface (GUI). Implement this interface in order to support the capabilities that an automation client requests with a GetPattern call and PatternInterface.Window.

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

Windows 10 requirements

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


For more info on what this pattern is for, see Window Control Pattern.

IWindowProvider isn't implemented by any existing Windows Runtime automation peers. The interface exists 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.

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


InteractionState InteractionState InteractionState InteractionState

Gets the interaction state of the window.

IsModal IsModal IsModal IsModal

Gets a value that specifies whether the window is modal.

IsTopmost IsTopmost IsTopmost IsTopmost

Gets a value that specifies whether the window is the topmost element in the z-order of layout.

Maximizable Maximizable Maximizable Maximizable

Gets a value that specifies whether the window can be maximized.

Minimizable Minimizable Minimizable Minimizable

Gets a value that specifies whether the window can be minimized.

VisualState VisualState VisualState VisualState

Gets the visual state of the window.


Close() Close() Close() Close()

Closes the window.

SetVisualState(WindowVisualState) SetVisualState(WindowVisualState) SetVisualState(WindowVisualState) SetVisualState(WindowVisualState)

Changes the visual state of the window (such as minimizing or maximizing it).

WaitForInputIdle(Int32) WaitForInputIdle(Int32) WaitForInputIdle(Int32) WaitForInputIdle(Int32)

Blocks the calling code for the specified time or until the associated process enters an idle state, whichever completes first.

See also