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.
Inheritance Hierarchy
System.Object
System.Windows.DependencyObject
System.Windows.Automation.Peers.AutomationPeer
System.Windows.Automation.Peers.FrameworkElementAutomationPeer
System.Windows.Automation.Peers.ItemAutomationPeer
System.Windows.Automation.Peers.SelectorItemAutomationPeer
System.Windows.Automation.Peers.TabItemAutomationPeer
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 | |
---|---|---|
ItemAutomationPeer(UIElement) | Provides initialization for base class values when called by the constructor of a derived class. | |
ItemAutomationPeer(Object, ItemsControlAutomationPeer) | Provides initialization for base class values when called by the constructor of a derived class. |
Top
Properties
Name | Description | |
---|---|---|
Dispatcher | Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.) | |
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.) | |
Item | Gets the requested data item in the Items collection that is associated with this ItemAutomationPeer. | |
ItemsControlAutomationPeer | Gets the ItemsControlAutomationPeer that is associated with the ItemsControl for this peer's Items. | |
Owner | Gets the UIElement that is associated with this FrameworkElementAutomationPeer. (Inherited from FrameworkElementAutomationPeer.) |
Top
Methods
Name | Description | |
---|---|---|
CheckAccess | Determines whether the calling thread has access to this object. (Inherited from DependencyObject.) | |
ClearValue | Clears the local value of a dependency property. (Inherited from DependencyObject.) | |
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
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.) | |
GetAcceleratorKey | Gets the accelerator key combination for the object that is associated with the UI Automation peer. (Inherited from AutomationPeer.) | |
GetAcceleratorKeyCore | Returns the accelerator key for the item element that is associated with this ItemAutomationPeer. This method is called by GetAcceleratorKey. (Overrides FrameworkElementAutomationPeer.GetAcceleratorKeyCore().) | |
GetAccessKey | Gets the access key for the object that is associated with the automation peer. (Inherited from AutomationPeer.) | |
GetAccessKeyCore | Returns the access key for the item element that is associated with this ItemAutomationPeer. This method is called by GetAccessKey. (Overrides FrameworkElementAutomationPeer.GetAccessKeyCore().) | |
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.) | |
GetAutomationControlType | Gets the control type for the object that is associated with the UI Automation peer. (Inherited from AutomationPeer.) | |
GetAutomationControlTypeCore | Returns the control type for the item element that is associated with this ItemAutomationPeer. This method is called by GetAutomationControlType. (Overrides FrameworkElementAutomationPeer.GetAutomationControlTypeCore().) | |
GetAutomationId | Gets the AutomationId of the object that is associated with the automation peer. (Inherited from AutomationPeer.) | |
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().) | |
GetBoundingRectangle | Gets the Rect object that represents the screen coordinates of the element that is associated with the automation peer. (Inherited from AutomationPeer.) | |
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().) | |
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.) | |
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().) | |
GetClassName | Gets the name of the control class that is associated with the peer. (Inherited from AutomationPeer.) | |
GetClassNameCore | Returns name of the class that is associated with this ItemAutomationPeer. This method is called by GetClassName. (Overrides FrameworkElementAutomationPeer.GetClassNameCore().) | |
GetClickablePoint | Gets a Point on the object that is associated with the automation peer that responds to a mouse click. (Inherited from AutomationPeer.) | |
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().) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetHelpText | Gets text that describes the functionality of the control that is associated with the automation peer. (Inherited from AutomationPeer.) | |
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().) | |
GetItemStatus | Gets text that conveys the visual status of the object that is associated with this automation peer. (Inherited from AutomationPeer.) | |
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().) | |
GetItemType | Gets a string that describes what kind of item an element represents. (Inherited from AutomationPeer.) | |
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().) | |
GetLabeledBy | Gets the AutomationPeer for the UIElement that is targeted to the element. (Inherited from AutomationPeer.) | |
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().) | |
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.) | |
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().) | |
GetName | Gets the value that the automation peer reports as the UI Automation Name for the associated control. (Inherited from AutomationPeer.) | |
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().) | |
GetOrientation | Gets a value that indicates the explicit control orientation, if any. (Inherited from AutomationPeer.) | |
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().) | |
GetParent | Gets the AutomationPeer that is the parent of this AutomationPeer. (Inherited from AutomationPeer.) | |
GetPattern | Returns an object that supports the requested pattern, based on the patterns supported by this ItemAutomationPeer. (Overrides FrameworkElementAutomationPeer.GetPattern(PatternInterface).) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GetValue | Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.) | |
HasKeyboardFocus | Gets a value that indicates whether the object that is associated with this automation peer currently has keyboard focus. (Inherited from AutomationPeer.) | |
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().) | |
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.) | |
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.) | |
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().) | |
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.) | |
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().) | |
IsEnabled | Gets a value that indicates whether the element associated with this automation peer supports interaction. (Inherited from AutomationPeer.) | |
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().) | |
IsKeyboardFocusable | Gets a value that indicates whether the element can accept keyboard focus. (Inherited from AutomationPeer.) | |
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().) | |
IsOffscreen | Gets a value that indicates whether an element is off the screen. (Inherited from AutomationPeer.) | |
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().) | |
IsPassword | Gets a value that indicates whether the element contains sensitive content. (Inherited from AutomationPeer.) | |
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().) | |
IsRequiredForForm | Gets a value that indicates whether the object that is associated with this peer must be completed on a form. (Inherited from AutomationPeer.) | |
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().) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
PeerFromProvider | Gets an AutomationPeer for the specified IRawElementProviderSimple proxy. (Inherited from AutomationPeer.) | |
ProviderFromPeer | Gets the IRawElementProviderSimple proxy for the specified AutomationPeer. (Inherited from AutomationPeer.) | |
RaiseAutomationEvent | Raises an automation event. (Inherited from AutomationPeer.) | |
RaisePropertyChangedEvent | Raises an event to notify the automation client of a changed property value. (Inherited from AutomationPeer.) | |
ReadLocalValue | Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.) | |
SetFocus | Sets the keyboard focus on the object that is associated with this automation peer. (Inherited from AutomationPeer.) | |
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().) | |
SetValue | Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.) | |
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.
See Also