/// <summary>
        /// Navigation From
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Frame_Navigating(object sender, NavigatingCancelEventArgs e)
        {
            var frame = sender as Windows.UI.Xaml.Controls.Frame;
            if (frame == null) return;
            var naviArgs = new NavigationArgs
            {
                Content = frame.Content,
                NavigationMode =
                    (Models.NavigationMode) Enum.Parse(typeof (Models.NavigationMode), e.NavigationMode.ToString()),
                Parameter = e.SourcePageType,
                Uri = frame.BaseUri
            };

            if(StaticFunctions.BaseContext != null)
            {
                StaticFunctions.InvokeIfRequiredAsync(StaticFunctions.BaseContext,
                    para => _eventAggregator.GetEvent<NavigatingEvent>().Publish(naviArgs), null);
            }
            else
            {
                _eventAggregator.GetEvent<NavigatingEvent>().Publish(naviArgs);
            }
        }
        /// <summary>
        /// Navigation To
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Frame_Navigated(object sender, NavigationEventArgs e)
        {
            var naviArgs = new NavigationArgs
            {
                Content = e.Content,
                NavigationMode =
                    (Models.NavigationMode) Enum.Parse(typeof (Models.NavigationMode), e.NavigationMode.ToString()),
                Parameter = e.Parameter,
                Uri = e.Uri
            };

            //프레임의 세션 스테이트 값 복구
            var frameState = SuspensionManager.SessionStateForFrame(_frame);
            var pageKey = PAGE + _frame.BackStackDepth;
            if (naviArgs.NavigationMode == Models.NavigationMode.New)
            {
                // Clear existing state for forward navigation when adding a new page to the
                // navigation stack
                var nextPageKey = pageKey;
                var nextPageIndex = _frame.BackStackDepth;
                while (frameState.Remove(nextPageKey))
                {
                    nextPageIndex++;
                    nextPageKey = PAGE + nextPageIndex;
                }
                _frameSessionState = new Dictionary<string, object>();
                frameState[pageKey] = _frameSessionState;
            }
            else
            {
                _frameSessionState = (Dictionary<String, Object>)frameState[pageKey];
            }

            if (StaticFunctions.BaseContext != null)
            {
                StaticFunctions.InvokeIfRequiredAsync(StaticFunctions.BaseContext,
                    para => _eventAggregator.GetEvent<NavigatedEvent>().Publish(naviArgs), null);
            }
            else
            {
                _eventAggregator.GetEvent<NavigatedEvent>().Publish(naviArgs);
            }
        }