Page Navigation Between Two Pages in Xamarin.Forms Using Visual Studio

Introduction

Xamarin is a platform to develop cross-platform and multi-platform apps (for example, Windows phone, Android, iOS). In Xamarin platform, the code sharing concept is used. In Xamarin Studio, Visual Studio is also available.

Prerequisites
  • Visual Studio 2017 RC.
The steps given below are required to be followed in order to navigate from one page to another page in Xamarin.Forms, using Visual Studio.

Step 1

Click File--> select New--> select Project. The project needs to be clicked after opening all the types of the projects in Visual Studio or click (Ctrl+Shift+N).
 


Step 2

After opening the New Project, select Installed-->Templates-->Visual C#-->Cross-Platform-->choose Cross Platform App. Now, give your Xamarin from app name (Ex:sample) and give the path of your project. Afterwards, click OK.
 


Step 3

Now, choose Blank App and select forms PCL (sharing). Afterwards, click OK.
 
 

Step 4

Now, go to Solution Explorer. In Solution Explorer, get all the files and source in your project. You can add Universal Windows Platform (UWP). In Reference, go to Solution Explorer-->Your Project-->UWP-->Reference-->Right Click --> Select Add reference.



Step 5

Now, you can select Universal Windows and select Extensions.Check.
  • Windows Desktop Extension for the UWP. version:10.0.1439
  • Windows Desktop Extension for the UWP. version:10.0.1058
Afterwards, click OK.
 


Step 6

In this step, add one Page, whose name is called MainPage.xaml. Go to Solution Explorer-->Your Project-->Portable-->Right click-->Add-->New Item (Ctrl+Shift+A).



Step 7

Now, select Forms XAML page and give the name (MainPage.xaml).
 
 

Step 8

In this step, add another one page, whose name is called SecondPage.xaml. Go to Solution Explorer-->Your Project-->Portable-->Right click-->Add-->New Item (Ctrl+Shift+A).



Step 9

Now, select Forms XAML page and give the name (SecondPage.xaml).

 
 
Step 10

In this step, go to the MainPage.xaml page and write the code given below.

MainPage.xaml
  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="PageNavigation.MainPage" Title="MainPage">  
  3.     <StackLayout BackgroundColor="White" Padding="60" VerticalOptions="Center">  
  4.         <Button Text="Second Page" BackgroundColor="Blue" Clicked="NavigateButton_OnClicked">  
  5. </Button> </StackLayout>  
  6. </ContentPage>  


Step 11

In this step, go to the SecondPage.xaml page and write the code given below.

SecondPage.xaml
  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="PageNavigation.SecondPage" Title="Second Page">  
  3.     <StackLayout BackgroundColor="White" Padding="60" VerticalOptions="Center">  
  4.         <Button Text="Main Page" BackgroundColor="Blue" Clicked="NavigateButton_OnClicked">  
  5. </Button> </StackLayout>  
  6. </ContentPage>  
 
 
Step 12

In this step, go to the MainPage.xaml.cs page. Create NavigateButton_OnClicked method and write the code given below.

MainPage.xaml.cs
  1. using Xamarin.Forms;  
  2. namespace PageNavigation {  
  3.     public partial class MainPage: ContentPage {  
  4.         public MainPage() {  
  5.             InitializeComponent();  
  6.         }  
  7.         private async void NavigateButton_OnClicked(object sender, EventArgs e) {  
  8.             await Navigation.PushAsync(new SecondPage());  
  9.         }  
  10.     }  
  11. }   


Step 13

In this step, go to the SecondPage.xaml.cs page. Create NavigateButton_OnClicked method and write the code given below.

SecondPage.xaml.cs
  1. using Xamarin.Forms;  
  2. namespace PageNavigation {  
  3.     public partial class SecondPage: ContentPage {  
  4.         public SecondPage() {  
  5.             InitializeComponent();  
  6.         }  
  7.         private async void NavigateButton_OnClicked(object sender, EventArgs e) {  
  8.             await Navigation.PushAsync(new MainPage());  
  9.         }  
  10.     }  
  11. }  


Step 14

In this step, go to App.cs page. Write the code, mentioned below between Public App() Method.

App.cs
  1. public App()  
  2. {  
  3.    MainPage = new NavigationPage(new MainPage());  
  4. }  
 
 
Step 15

Now, you can run your app. Go to the Debug configuration Manager. Choose platform and check build and deploy option. Afterwards, click close.

 
 
Step 16

If you have Windows 10 Emulator, you can run it. If you don't have it, simply run Local Machine.

 
 
Output

After few seconds, the app will start running on your Windows 10 Emulator. You will click the Second Page button.



Now, you will see the Second Page successfully. You will click the Main Page button. You will see the Main Page.



Summary

This was the process of how to navigate from one page to another page in Xamarin.Forms, using Visual Studio.