public void Dispose()
 {
     DeregisterPageDataContextEvents();
     DeregisterPageEvents();
     DeregisterFrameEvents();
     PageDataContext = null;
     Page = null;
     Frame = null;
 }
 private void RefreshPage()
 {
     DeregisterPageEvents();
     Page = Frame.Content as ApplicationPage;
     RefreshPageDataContext();
     RefreshTitleBarTemplateSelector();
     RefreshTitleTemplate();
     RefreshTitleControlsTemplate();
     RefreshTitleElementSizes();
     GoBackCommand.RaiseCanExecuteChanged();
     NavigateBackCommand.RaiseCanExecuteChanged();
     NavigateForwardCommand.RaiseCanExecuteChanged();
     RegisterPageEvents();
 }