Ejemplo n.º 1
0
        public void NavigateTo(Screen screen)
        {
            if (screen == null)
            {
                throw new ArgumentNullException(nameof(screen));
            }

            screen.NavigationService = this;

            var args = new NavigateEventArgs()
            {
                Destination = screen
            };

            var handlers = Navigate?.GetInvocationList();

            if (handlers == null || handlers.Length == 0)
            {
                return;
            }

            foreach (EventHandler <NavigateEventArgs> handler in handlers)
            {
                handler.Invoke(this, args);

                if (args.IsHandled)
                {
                    break;
                }
            }
        }