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 != _dateTimePickerPage) { if (_dateTimePickerPage.Value.HasValue) { Value = _dateTimePickerPage.Value.Value; } _dateTimePickerPage = null; } }
private void OpenPickerPage() { if (null == PickerPageUri) { throw new ArgumentException("PickerPageUri property must not be null."); } if (null == _frame) { // Hook up to necessary events and navigate _frame = Application.Current.RootVisual as PhoneApplicationFrame; if (null != _frame) { _frameContentWhenOpened = _frame.Content; // Save and clear host page transitions for the upcoming "popup" navigation UIElement frameContentWhenOpenedAsUIElement = _frameContentWhenOpened as UIElement; if (null != frameContentWhenOpenedAsUIElement) { _savedNavigationInTransition = TransitionService.GetNavigationInTransition(frameContentWhenOpenedAsUIElement); TransitionService.SetNavigationInTransition(frameContentWhenOpenedAsUIElement, null); _savedNavigationOutTransition = TransitionService.GetNavigationOutTransition(frameContentWhenOpenedAsUIElement); TransitionService.SetNavigationOutTransition(frameContentWhenOpenedAsUIElement, null); } _frame.Navigated += OnFrameNavigated; _frame.NavigationStopped += OnFrameNavigationStoppedOrFailed; _frame.NavigationFailed += OnFrameNavigationStoppedOrFailed; _frame.Navigate(PickerPageUri); } } }