2016-06-17 30 views
0

私はMasterDetailPage(RootPageと呼ばれる)とContentPage(MainPageと呼ばれる)を持っています.ContentPageのTitleプロパティは 'This is main page'に設定されており、NavigationServiceを次のコード:私は見ることを期待何XamarinフォームでPrismを使用してMasterDetailPageのヘッダーを更新する

await navigationService.NavigateAsync("RootPage/MainPage"); 

はMasterDetailのヘッダ内ContentPageのタイトルですが、それはMainActivity「毎回言います。

これはプラットフォームの動作ですか?そうでない場合は、MasterDetailPageのヘッダーを特定のオブジェクトに設定するにはどうすればよいですか?

答えて

0

このアプリでは、ページのタイトルがMasterDetailの 'ヘッダー'に正しく設定されています。

NavigationService.Navigate("RootPage/DetailsNavigationPage/MainPage")

さらに下モードレスをナビゲートすると、新しいページもMasterDetailの「詳細」にロードされ、そのタイトルが表示されます:

NavigationService.Navigate("AnotherPage", null, false);

開始すると、私たちは次のようにナビゲート

詳細ナビゲーションページは次のような単純なページです:

<?xml version="1.0" encoding="utf-8" ?> <NavigationPage 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="SomeNameSpage.Views.DetailsNavigationPage" BarBackgroundColor="Accent"> </NavigationPage>

そしてMasterDetailは、次のようになります

<?xml version="1.0" encoding="utf-8" ?> <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="SomeNameSpace.Views.RootPage"> <MasterDetailPage.Master> <ContentPage Title="Default"><!--Must have a Title, otherwise crashes according to https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/master-detail-page/--> <StackLayout> <Button Text="Main Page" Command="{Binding NavigateCommand}" CommandParameter="DetailsNavigation/MainPage" /> <Button Text="Some Page" Command="{Binding NavigateCommand}" CommandParameter="DetailsNavigation/SomePage" /> </StackLayout> </ContentPage> </MasterDetailPage.Master> </MasterDetailPage>

関連する問題