Ejemplo n.º 1
0
        /// <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());
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 /// <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)
 {
 }