CustomNavigation Control Pattern
Describes guidelines and conventions for implementing the ICustomNavigationProvider interface, including information about properties and methods. The CustomNavigation control pattern is used to enable custom navigation between controls in hierarchy-like structures such as list items, bulleted lists, numbered lists and headings. This enables providers to describe structures or define the navigable relationships using the element alone and not just the containing control.
For examples of controls that implement this control pattern, see Control Types and Their Supported Control Patterns.
This topic contains the following sections.
- Implementation Guidelines and Conventions
- Required Members for ICustomNavigationProvider
- Related topics
Implementation Guidelines and Conventions
When implementing the CustomNavigation provider, note the following guidelines and conventions:
- Property values for PositionInSet, SizeOfSet, and Level are one-based integer values.
- ICustomNavigationProvider does not provide for active manipulation of the control such as moving positions, adding and removing items, or promoting and demoting levels.
- Controls that implement ICustomNavigationProvider typically have a hierarchical structure, but can skip levels by using the Navigate method. The properties PositionInSet, SizeOfSet, and Level are required on the pattern.
Required Members for ICustomNavigationProvider
The following properties are required for implementing the ICustomNavigationProvider interface.
|Required members||Member type||Notes|
|CachedLevel||Property||Located on IUIAutomationElement4 interface.|
|CachedPositionInSet||Property||Located on IUIAutomationElement4 interface.|
|CachedSizeOfSet||Property||Located on IUIAutomationElement4 interface.|
|CurrentLevel||Property||Located on IUIAutomationElement4 interface.|
|CurrentPositionInSet||Property||Located on IUIAutomationElement4 interface.|
|CurrentSizeOfSet||Property||Located on IUIAutomationElement4 interface.|
This control pattern has no associated methods or events.