Microsoft.Phone.Controls.ListPicker.ClosePickerPage C# (CSharp) Method

ClosePickerPage() private method

private ClosePickerPage ( ) : void
return void
        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;
            }

            // Commit the value if available
            if (null != _listPickerPage)
            {
                if (SelectionMode == SelectionMode.Single && null != _listPickerPage.SelectedItem)
                {
                    SelectedItem = _listPickerPage.SelectedItem;
                }
                else if ((SelectionMode == SelectionMode.Multiple || SelectionMode == SelectionMode.Extended) && null != _listPickerPage.SelectedItems)
                {
                    SelectedItems = _listPickerPage.SelectedItems;
                }
                _listPickerPage = null;
            }
        }