<s>[INST] I have a Xamarin.Forms project with a Shell navigation. The app doesn't have any navigation bar. I want to implement a feature where when the user clicks on a button, the app navigates to a new page. I need some help with the navigation part.

Xamarin.Forms version is 5.0.0.2012.

Here's my xaml.cs code for the button click event:
```csharp
void OnButtonClicked(object sender, EventArgs e)
{
    var route = "//mypage";
    Shell.Current.GoToAsync(route);
}
```

However, this is throwing an following exception:

```
System.ArgumentException: 'route' must be a valid ShellNavigationState.
Parameter name: route
```

Here's my Shell XAML:
```xml
<Shell xmlns="http://xamarin.com/schemas/2014/forms"
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
      xmlns:local="clr-namespace:MyApp"
      x:Class="MyApp.AppShell">

    <TabBar>
        <ShellContent Title="Home" ContentTemplate="{DataTemplate local:HomePage}" />
        <ShellContent Title="Settings" ContentTemplate="{DataTemplate local:SettingsPage}" />
    </TabBar>

    <Shell.FlyoutContent>
        <local:FlyoutPage />
    </Shell.FlyoutContent>
</Shell>
```
And here's my routing registration in App.xaml.cs:
```csharp
protected override void OnAppStart()
{
    base.OnAppStart();

    Routing.RegisterRoute("//mypage", typeof(MyPage));
}
```
Can someone please help me understand and fix the error?[/INST]