ItemAutomationPeer Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Exposes a data item in an Items collection to UI automation.

Namespace:  System.Windows.Automation.Peers
Assembly:  System.Windows (in System.Windows.dll)

Syntax

'Declaration
Public MustInherit Class ItemAutomationPeer _
    Inherits FrameworkElementAutomationPeer
public abstract class ItemAutomationPeer : FrameworkElementAutomationPeer

The ItemAutomationPeer type exposes the following members.

Constructors

  Name Description
Protected methodSupported by Silverlight for Windows Phone ItemAutomationPeer(UIElement) Provides initialization for base class values when called by the constructor of a derived class.
Protected methodSupported by Silverlight for Windows Phone ItemAutomationPeer(Object, ItemsControlAutomationPeer) Provides initialization for base class values when called by the constructor of a derived class.

Top

Properties

  Name Description
Public propertySupported by Silverlight for Windows Phone Dispatcher Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.)
Public propertySupported by Silverlight for Windows Phone EventsSource Gets or sets an AutomationPeer that is reported to the automation client as a source for all the events that come from this AutomationPeer. (Inherited from AutomationPeer.)
Protected propertySupported by Silverlight for Windows Phone Item Gets the requested data item in the Items collection that is associated with this ItemAutomationPeer.
Protected propertySupported by Silverlight for Windows Phone ItemsControlAutomationPeer Gets the ItemsControlAutomationPeer that is associated with the ItemsControl for this peer's Items.
Public propertySupported by Silverlight for Windows Phone Owner Gets the UIElement that is associated with this FrameworkElementAutomationPeer. (Inherited from FrameworkElementAutomationPeer.)

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows Phone CheckAccess Determines whether the calling thread has access to this object. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows Phone ClearValue Clears the local value of a dependency property. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows Phone Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetAcceleratorKey Gets the accelerator key combination for the object that is associated with the UI Automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetAcceleratorKeyCore Returns the accelerator key for the item element that is associated with this ItemAutomationPeer. This method is called by GetAcceleratorKey. (Overrides FrameworkElementAutomationPeer.GetAcceleratorKeyCore().)
Public methodSupported by Silverlight for Windows Phone GetAccessKey Gets the access key for the object that is associated with the automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetAccessKeyCore Returns the access key for the item element that is associated with this ItemAutomationPeer. This method is called by GetAccessKey. (Overrides FrameworkElementAutomationPeer.GetAccessKeyCore().)
Public methodSupported by Silverlight for Windows Phone GetAnimationBaseValue Returns any base value established for a Silverlight dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows Phone GetAutomationControlType Gets the control type for the object that is associated with the UI Automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetAutomationControlTypeCore Returns the control type for the item element that is associated with this ItemAutomationPeer. This method is called by GetAutomationControlType. (Overrides FrameworkElementAutomationPeer.GetAutomationControlTypeCore().)
Public methodSupported by Silverlight for Windows Phone GetAutomationId Gets the AutomationId of the object that is associated with the automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetAutomationIdCore Returns the string that uniquely identifies the item element that is associated with this ItemAutomationPeer. This method is called by GetAutomationId. (Overrides FrameworkElementAutomationPeer.GetAutomationIdCore().)
Public methodSupported by Silverlight for Windows Phone GetBoundingRectangle Gets the Rect object that represents the screen coordinates of the element that is associated with the automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetBoundingRectangleCore Returns the Rect that represents the bounding rectangle of the item element that is associated with this ItemAutomationPeer. This method is called by GetBoundingRectangle. (Overrides FrameworkElementAutomationPeer.GetBoundingRectangleCore().)
Public methodSupported by Silverlight for Windows Phone GetChildren Gets the collection of child elements that are represented in the UI Automation tree as immediate child elements of the automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetChildrenCore Returns automation peers for the collection of child elements of the owner. The owner class is associated with the ItemAutomationPeer. This method is called by GetChildren. (Overrides FrameworkElementAutomationPeer.GetChildrenCore().)
Public methodSupported by Silverlight for Windows Phone GetClassName Gets the name of the control class that is associated with the peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetClassNameCore Returns name of the class that is associated with this ItemAutomationPeer. This method is called by GetClassName. (Overrides FrameworkElementAutomationPeer.GetClassNameCore().)
Public methodSupported by Silverlight for Windows Phone GetClickablePoint Gets a Point on the object that is associated with the automation peer that responds to a mouse click. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetClickablePointCore Returns a Point that represents the clickable space for the item element that is associated with this ItemAutomationPeer. This method is called by GetClickablePoint. (Overrides FrameworkElementAutomationPeer.GetClickablePointCore().)
Public methodSupported by Silverlight for Windows Phone GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetHelpText Gets text that describes the functionality of the control that is associated with the automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetHelpTextCore Returns the string that describes the functionality of the item element that is associated with this ItemAutomationPeer. his method is called by GetHelpText. (Overrides FrameworkElementAutomationPeer.GetHelpTextCore().)
Public methodSupported by Silverlight for Windows Phone GetItemStatus Gets text that conveys the visual status of the object that is associated with this automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetItemStatusCore Returns a string that communicates the visual status of the item element that is associated with this ItemAutomationPeer. This method is called by GetItemStatus. (Overrides FrameworkElementAutomationPeer.GetItemStatusCore().)
Public methodSupported by Silverlight for Windows Phone GetItemType Gets a string that describes what kind of item an element represents. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetItemTypeCore Returns a human-readable string that contains the type of item element that the item represents. This method is called by GetItemType. (Overrides FrameworkElementAutomationPeer.GetItemTypeCore().)
Public methodSupported by Silverlight for Windows Phone GetLabeledBy Gets the AutomationPeer for the UIElement that is targeted to the element. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetLabeledByCore Returns the AutomationPeer for the object that targets the item that is associated with this ItemAutomationPeer. This method is called by GetLabeledBy. (Overrides FrameworkElementAutomationPeer.GetLabeledByCore().)
Public methodSupported by Silverlight for Windows Phone GetLocalizedControlType Gets a localized string that represents the control type, for the control that is associated with this automation peer. The localized string parallels a AutomationControlType value. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetLocalizedControlTypeCore Returns a localized human-readable string that represents a control type. The control is the owner type that is associated with this ItemAutomationPeer. This method is called by GetLocalizedControlType. (Overrides FrameworkElementAutomationPeer.GetLocalizedControlTypeCore().)
Public methodSupported by Silverlight for Windows Phone GetName Gets the value that the automation peer reports as the UI Automation Name for the associated control. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetNameCore Gets the UI Automation Name from the element that corresponds to a data item. The item is the element in an Items collection that is associated with this ItemAutomationPeer. This method is called by GetName. (Overrides FrameworkElementAutomationPeer.GetNameCore().)
Public methodSupported by Silverlight for Windows Phone GetOrientation Gets a value that indicates the explicit control orientation, if any. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone GetOrientationCore Returns a value that indicates whether the element that is associated with this ItemAutomationPeer is laid out in a specific direction. This method is called by GetOrientation. (Overrides FrameworkElementAutomationPeer.GetOrientationCore().)
Public methodSupported by Silverlight for Windows Phone GetParent Gets the AutomationPeer that is the parent of this AutomationPeer. (Inherited from AutomationPeer.)
Public methodSupported by Silverlight for Windows Phone GetPattern Returns an object that supports the requested pattern, based on the patterns supported by this ItemAutomationPeer. (Overrides FrameworkElementAutomationPeer.GetPattern(PatternInterface).)
Public methodSupported by Silverlight for Windows Phone GetType Gets the Type of the current instance. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetValue Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows Phone HasKeyboardFocus Gets a value that indicates whether the object that is associated with this automation peer currently has keyboard focus. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone HasKeyboardFocusCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer currently has keyboard input focus. This method is called by HasKeyboardFocus. (Overrides FrameworkElementAutomationPeer.HasKeyboardFocusCore().)
Public methodSupported by Silverlight for Windows Phone InvalidatePeer Triggers recalculation of the main properties of the AutomationPeer and raises the PropertyChanged notification to the automation client if the properties have changed. (Inherited from AutomationPeer.)
Public methodSupported by Silverlight for Windows Phone IsContentElement Gets a value that indicates whether the object that is associated with this automation peer contains data that is presented to the user. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone IsContentElementCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer is an element that contains data that is presented to the user. This method is called by IsContentElement. (Overrides FrameworkElementAutomationPeer.IsContentElementCore().)
Public methodSupported by Silverlight for Windows Phone IsControlElement Gets a value that indicates whether the element is understood by the user as interactive or as contributing to the logical structure of the control in the GUI. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone IsControlElementCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer is understood by the end user as interactive. Optionally, the user might understand the element as contributing to the logical structure of the control in the GUI. This method is called by IsControlElement. (Overrides FrameworkElementAutomationPeer.IsControlElementCore().)
Public methodSupported by Silverlight for Windows Phone IsEnabled Gets a value that indicates whether the element associated with this automation peer supports interaction. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone IsEnabledCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer is enabled. This method is called by IsEnabled. (Overrides FrameworkElementAutomationPeer.IsEnabledCore().)
Public methodSupported by Silverlight for Windows Phone IsKeyboardFocusable Gets a value that indicates whether the element can accept keyboard focus. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone IsKeyboardFocusableCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer can accept keyboard focus. This method is called by IsKeyboardFocusable. (Overrides FrameworkElementAutomationPeer.IsKeyboardFocusableCore().)
Public methodSupported by Silverlight for Windows Phone IsOffscreen Gets a value that indicates whether an element is off the screen. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone IsOffscreenCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer is off the screen. This method is called by IsOffscreen. (Overrides FrameworkElementAutomationPeer.IsOffscreenCore().)
Public methodSupported by Silverlight for Windows Phone IsPassword Gets a value that indicates whether the element contains sensitive content. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone IsPasswordCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer contains protected content. This method is called by IsPassword. (Overrides FrameworkElementAutomationPeer.IsPasswordCore().)
Public methodSupported by Silverlight for Windows Phone IsRequiredForForm Gets a value that indicates whether the object that is associated with this peer must be completed on a form. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone IsRequiredForFormCore Returns a value that indicates whether the item element that is associated with this ItemAutomationPeer is required to be completed on a form. This method is called by IsRequiredForForm. (Overrides FrameworkElementAutomationPeer.IsRequiredForFormCore().)
Protected methodSupported by Silverlight for Windows Phone MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone PeerFromProvider Gets an AutomationPeer for the specified IRawElementProviderSimple proxy. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone ProviderFromPeer Gets the IRawElementProviderSimple proxy for the specified AutomationPeer. (Inherited from AutomationPeer.)
Public methodSupported by Silverlight for Windows Phone RaiseAutomationEvent Raises an automation event. (Inherited from AutomationPeer.)
Public methodSupported by Silverlight for Windows Phone RaisePropertyChangedEvent Raises an event to notify the automation client of a changed property value. (Inherited from AutomationPeer.)
Public methodSupported by Silverlight for Windows Phone ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows Phone SetFocus Sets the keyboard focus on the object that is associated with this automation peer. (Inherited from AutomationPeer.)
Protected methodSupported by Silverlight for Windows Phone SetFocusCore Sets the keyboard input focus on the item element that is associated with this FrameworkElementAutomationPeer. This method is called by SetFocus. (Overrides FrameworkElementAutomationPeer.SetFocusCore().)
Public methodSupported by Silverlight for Windows Phone SetValue Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows Phone ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

Data items that are not UIElement types do not have full representation in all possible tree metaphors. However, they can have an object tree that is interpreted by a hosting control, and a corresponding automation tree.

For example, a ListBox can have a collection of strings that contain data items. The collection is not a UIElement, nor are the strings. When those items are processed by an ItemsControl for visualization, an object tree is created for them. This object tree can have a corresponding automation tree. After the object tree is created, Silverlight merges the object tree into the remainder of the automation tree. ItemAutomationPeer works with its UIElement counterpart, if it exists, to obtain more information about the UIElement in the automation tree.

Only visible data items, or more precisely, the corresponding UIElement types in object trees, have this dualism: the item might simultaneously have a UI-specific peer as well as an ItemAutomationPeer that forwards information from the type-specific peer for the most part. Nonvisible data items, which have no corresponding UIElement in the object tree, have only their ItemAutomationPeer.

ItemAutomationPeer is abstract, and in general the relevant peers you use for automation will be either ListBoxItemAutomationPeer or TabItemAutomationPeer. ItemAutomationPeer provides the final overrides for most of the FrameworkElementAutomationPeer defined API, with the exception of the API that reports type system information (for example GetNameCore). ItemAutomationPeer is also relevant as a base class if you are implementing an ItemsControl that does not derive from either Selector or TabControl, and need an automation peer class for the items.

Notes to Inheritors

ItemAutomationPeer derives from FrameworkElementAutomationPeer and overrides several FrameworkElementAutomationPeer APIs. Generally the overrides follow a pattern where if the ItemAutomationPeer has a nonnull Owner, then the implementation calls base. If the owner is null, then the implementations check for an associated container and use its automation information if possible. The fallback values if neither of these conditions are true are generally the value defaults for that data type, or otherwise representat that there is not a conventional UI item associated with this item in the automation tree.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.