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;
}
}