I have several ContentPages and I want to navigate from one to another at the click of an element in the page. I have my ViewModel class:
 class JumpVM : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        private INavigation _navigation;
        public ICommand NewPage
        {
            get
            {
                return new Command(async () =>
                {
                    await _navigation.PushAsync(new MySettingsPage());
                });
            }
        }
        public JumpVM() { }
        public JumpVM(INavigation navitation)
        {
            _navigation = navitation;
        }
    }
And this is one of my pages( for the sake of space, i put only the relevant code):
BindingContext = new JumpVM(this.Navigation);
....
 Image fbInvite = new Image
            {
                Source = ImageSource.FromResource(Constants.ASSETLOCATION + ".facebookInviteIcon.png"),
                HorizontalOptions = LayoutOptions.Center
            };
            fbInvite.GestureRecognizers.Add(new TapGestureRecognizer(sender =>
                {
                    //navigation in the method below
                    FaceboonInviteFriends();
                    fbInvite.Opacity = 0.8;
                    fbInvite.FadeTo(1);
                }));
I want when I click the image, to execute the Command in the JumpVM class and navigate to the page there. How can I do that?
This is Answer for Navigating one page to another page in ViewModel concept.
public ICommand NavigationList { get; set; }
NavigationList = new Command(GetListview);  
public void  GetListview()
{
   Xamarin.Forms.Application.Current.MainPage.Navigation.PushAsync(new ListViewPerson());
}
                        Try adding the following line after the FadeTo line:
((JumpVM)BindingContext).NewPage.Execute(null).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With