Hi,
I'm trying to make a masterdetailpage but I can't figure out why it doesn't work.
Can someone tell me what I'm doing wrong?
that's my code
App.xaml.cs
public App() : this(null) { }
public App(IPlatformInitializer initializer) : base(initializer) { }
protected override async void OnInitialized()
{
InitializeComponent();
await NavigationService.NavigateAsync("Navigation/MainPage");
}
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation<NavigationPage>("Navigation");
containerRegistry.RegisterForNavigation<MainPage>();
containerRegistry.RegisterForNavigation<Page1>();
containerRegistry.RegisterForNavigation<Page2>();
containerRegistry.RegisterForNavigation<Page3>();
containerRegistry.RegisterForNavigation<MasterPage>("Index");
}
MasterPage.xaml
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="masterDetailPagePrism.Views.MasterPage">
<MasterDetailPage.Master>
<NavigationPage>
<x:Arguments>
<ContentPage Title="Menu">
<StackLayout Padding="20">
<!-- TODO: // Update the Layout and add some real menu items -->
<Button Text="ViewA" Command="{Binding ViewA}"/>
<Button Text="ViewA" Command="{Binding ViewB}"/>
<Button Text="ViewA" Command="{Binding ViewC}"/>
</StackLayout>
</ContentPage>
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Master>
</MasterDetailPage>
MainPageViewModel.cs
public class MainPageViewModel : ViewModelBase
{
public DelegateCommand goTo { get; set; }
INavigationService _navService;
public MainPageViewModel(INavigationService navigationService)
: base(navigationService)
{
Title = "Main Page";
_navService = navigationService;
goTo = new DelegateCommand(goToNext);
}
public void goToNext()
{
_navService.NavigateAsync("/Index/Navigation/Page1");
}
}
I'm using Xamarin.Forms 3.2 with Prism
Thanks