43.02 Add Language to navigation bar (Xamarin) - chempkovsky/CS2WPF-and-CS2XAMARIN GitHub Wiki

  • Open "Views\MainFlyoutPage.xaml"-file of the PrismDemoApp-project
  • Modify content of StackLayout as shown:
                <StackLayout Padding="20" >
...
                    <Label Text="Language"/>
                    <Button BackgroundColor="Transparent"  Text="L Dialog"  Command="{Binding ShowDialogCommand}" CommandParameter="LitLanguageViewLdlgViewModel" />
                    <Button BackgroundColor="Transparent"  Text="R Page"    Command="{Binding NavigateCommand}" CommandParameter="LitLanguageViewRlistPage" />
                    <Button BackgroundColor="Transparent"  Text="Rd Page"   Command="{Binding NavigateCommand}" CommandParameter="LitLanguageViewRdlistPage" />
                    <Button BackgroundColor="Transparent"  Text="O2m Page"  Command="{Binding NavigateCommand}" CommandParameter="LitLanguageViewO2mPage" />
                </StackLayout>

Note

  • Here is how to get CommandParameters like [CommandParameter="LitLanguageViewO2mPage"]
    • Under ModelServicesPrismModule-project navigate to RegisterTypes()-method of the ModelServicesPrismModuleModule.cs
        public void RegisterTypes(IContainerRegistry containerRegistry)
        {

            containerRegistry.RegisterForRegionNavigation<ModelServicesPrismModule.Literature.LitLanguage.UserControls.LitLanguageViewO2mUserControl, ModelServicesPrismModule.Literature.LitLanguage.ViewModels.LitLanguageViewO2mViewModel>("LitLanguageViewO2mUserControl");
...
            containerRegistry.RegisterForRegionNavigation<ModelServicesPrismModule.Literature.LitLanguage.UserControls.LitLanguageViewReditUserControl, ModelServicesPrismModule.Literature.LitLanguage.ViewModels.LitLanguageViewReditViewModel>("LitLanguageViewReditUserControl");
...
            containerRegistry.RegisterForRegionNavigation<ModelServicesPrismModule.Literature.LitLanguage.UserControls.LitLanguageViewRlistUserControl, ModelServicesPrismModule.Literature.LitLanguage.ViewModels.LitLanguageViewRlistViewModel>("LitLanguageViewRlistUserControl");
...
            containerRegistry.RegisterForRegionNavigation<ModelServicesPrismModule.Literature.LitLanguage.UserControls.LitLanguageViewRdlistUserControl, ModelServicesPrismModule.Literature.LitLanguage.ViewModels.LitLanguageViewRdlistViewModel>("LitLanguageViewRdlistUserControl");
...
        }

Look for "containerRegistry.RegisterForRegionNavigation" with "...LitLanguage...".

Rebuild

  • rebuild
    • PrismDemoApp
  • run PrismDemoApp.Android
  • In the app click "R Page"-menu item of "Language"-block and add a pair of records

picture

or UWP

picture