private static void OnExpandedItemChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            Accordion shelf = sender as Accordion;

            if (shelf != null)
            {
                shelf.OnExpandedItemChanged(e.OldValue, e.NewValue);
            }
        }
        protected virtual void OnExpanded()
        {
            Accordion parentAccordion = this.ParentAccordion;

            if (parentAccordion != null)
            {
                parentAccordion.ExpandedItem = this;
            }
            base.RaiseEvent(new RoutedEventArgs(AccordionItem.ExpandedEvent, this));
        }