Beispiel #1
0
        /// <summary>
        /// Called by Prism when navigating to the current document.
        /// </summary>
        /// <param name="navigationContext">The navigation context.</param>
        public void OnNavigatedTo(NavigationContext navigationContext)
        {
            if (navigationContext == null)
            {
                throw new ArgumentNullException(nameof(navigationContext));
            }

            if (!String.IsNullOrEmpty(uriQueryString) &&
                uriQueryString.Equals(navigationContext.Uri.OriginalString, StringComparison.OrdinalIgnoreCase))
            {
                return;
            }

            uriQueryString = navigationContext.Uri.OriginalString;

            foreach (KeyValuePair <string, object> parameter in navigationContext.Parameters)
            {
                if (parameter.Key.Equals("Title", StringComparison.Ordinal))
                {
                    Title = parameter.Value?.ToString();
                    continue;
                }

                if (parameter.Key.Equals("NavigationId", StringComparison.Ordinal))
                {
                    NavigationId = parameter.Value?.ToString();
                    continue;
                }

                if (parameter.Key.Equals("Navigation", StringComparison.Ordinal))
                {
                    string[] history = NavigationTarget.GetNavigationHistory(parameter.Value?.ToString());
                    foreach (string target in history)
                    {
                        if (!String.IsNullOrEmpty(target))
                        {
                            navigationHistory.Add(new NavigationTarget(target));
                        }
                    }
                }
            }

            RaiseActivation();
        }
        /// <summary>
        /// Called by Prism when navigating to the current document.
        /// </summary>
        /// <param name="navigationContext">The navigation context.</param>
        public void OnNavigatedTo(NavigationContext navigationContext)
        {
            if (!String.IsNullOrEmpty(uriQueryString) &&
                uriQueryString.Equals(navigationContext.Uri.OriginalString))
            {
                return;
            }

            uriQueryString = navigationContext.Uri.OriginalString;

            foreach (KeyValuePair <string, object> parameter in navigationContext.Parameters)
            {
                if (parameter.Key.Equals("Title"))
                {
                    Title = parameter.Value?.ToString();
                    continue;
                }

                if (parameter.Key.Equals("NavigationId"))
                {
                    NavigationId = parameter.Value?.ToString();
                    continue;
                }

                if (parameter.Key.Equals("Navigation"))
                {
                    string[] history = NavigationTarget.GetNavigationHistory(parameter.Value?.ToString());
                    foreach (string target in history)
                    {
                        if (!String.IsNullOrEmpty(target))
                        {
                            navigationHistory.Add(new NavigationTarget(target));
                        }
                    }
                }
            }

            RaiseActivation();
        }