Использование Xaml и DataContext
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:DataAndCloudServices"
x:Class="DataAndCloudServices.MainPage" >
<StackLayout>
<!-- Command Implemented In Code Behing -->
<Button Text="Consuming Web Services Samples"
Command="{Binding NavigateCommand}"
CommandParameter="{x:Type local:YourPageTypeHere}" >
</Button>
</StackLayout>
</ContentPage>
И код MainPage Behing, этот пример кода предназначен для перехода на другую страницу с использованием типа страницы в качестве аргумента, вам нужно сделать «YourPageTypeHere» и страницу ссылки здесь.
Затем реализовать код позади.
using System;
using System.Windows.Input;
using Xamarin.Forms;
namespace DataAndCloudServices
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
NavigateCommand = new Command<Type>(
async (Type pageType) =>
{
Page page = (Page)Activator.CreateInstance(pageType);
await Navigation.PushAsync(page);
});
this.BindingContext = this;
}
public ICommand NavigateCommand { private set; get; }
}
}
Также в вашем классе приложения необходим экземпляр NavigationPage в MainPage для навигации (для этого примера)
public App ()
{
InitializeComponent();
MainPage = new NavigationPage(new MainPage());
}
Это для форм xamarin, но аналогично для проектов WPF.
Команду можно изменить для WPF и Xamarin: "https://stackoverflow.com/a/47887715/8210755"