/// <summary> /// Retrieves a UI Automation provider for each child element that is /// selected. /// </summary> /// <returns>An array of UI Automation providers.</returns> /// <remarks> /// This API supports the .NET Framework infrastructure and is not /// intended to be used directly from your code. /// </remarks> public IRawElementProviderSimple[] GetSelection() { Controls.Accordion owner = OwnerAccordion; List <IRawElementProviderSimple> selection = new List <IRawElementProviderSimple>(owner.SelectedIndices.Count); foreach (int index in owner.SelectedIndices) { AccordionItem item = owner.ItemContainerGenerator.ContainerFromIndex(index) as AccordionItem; if (item != null) { AutomationPeer peer = FromElement(item); if (peer != null) { selection.Add(ProviderFromPeer(peer)); } } } return(selection.ToArray()); }
protected override List <AutomationPeer> GetChildrenCore() { Controls.Accordion owner = OwnerAccordion; ItemCollection items = owner.Items; if (items.Count <= 0) { return(null); } List <AutomationPeer> peers = new List <AutomationPeer>(items.Count); for (int i = 0; i < items.Count; i++) { AccordionItem element = owner.ItemContainerGenerator.ContainerFromIndex(i) as AccordionItem; if (element != null) { peers.Add(FromElement(element) ?? CreatePeerForElement(element)); } } return(peers); }
/// <summary> /// Initializes a new instance of the <see cref="AccordionAutomationPeer"/> class. /// </summary> /// <param name="owner">The Accordion that is associated with this /// AccordionAutomationPeer.</param> public AccordionAutomationPeer(Controls.Accordion owner) : base(owner) { }