private void ClosePickerPage()
        {
            // Unhook from events
            if (null != _frame)
            {
                _frame.Navigated -= OnFrameNavigated;
                _frame.NavigationStopped -= OnFrameNavigationStoppedOrFailed;
                _frame.NavigationFailed -= OnFrameNavigationStoppedOrFailed;

                // Restore host page transitions for the completed "popup" navigation
                UIElement frameContentWhenOpenedAsUIElement = _frameContentWhenOpened as UIElement;
                if (null != frameContentWhenOpenedAsUIElement)
                {
                    TransitionService.SetNavigationInTransition(frameContentWhenOpenedAsUIElement, _savedNavigationInTransition);
                    _savedNavigationInTransition = null;
                    TransitionService.SetNavigationOutTransition(frameContentWhenOpenedAsUIElement, _savedNavigationOutTransition);
                    _savedNavigationOutTransition = null;
                }

                _frame = null;
                _frameContentWhenOpened = null;
            }

            if (null != _expanderSelectorPage)
            {
                //this.SelectItem = _expanderSelectorPage.SelectItem == null ? _expanderSelectorPage.SelectItem : null;
                ValueSelected(this, new ExpanderSelectedEventArgs(_expanderSellectorDataContext.SelectedItem));
                _expanderSelectorPage = null;
            }

        }
        private void OnFrameNavigated(object sender, NavigationEventArgs e)
        {
            if (e.Content == _frameContentWhenOpened)
            {
                // Navigation to original page; close the picker page
                ClosePickerPage();
            }
            else if (null == _expanderSelectorPage)
            {
                // Navigation to a new page; capture it and push the value in
                var selectorPage  = e.Content as ExpanderSelectorPage;
                
                if (null != selectorPage)
                {
                    _expanderSelectorPage = selectorPage;

                    _expanderSelectorPage.DataContext = _expanderSellectorDataContext;
                    _expanderSelectorPage.InitTreeView();
                    //_expanderSelectorPage.Value = Value.GetValueOrDefault(DateTime.Now);
                    
                    //pickerPage.SetFlowDirection(this.FlowDirection);
                }
            }

        }