0

Ich habe ein Projekt mit einer MasterDetailPage als Root-Seite. Wenn ich tiefer in die Detailseite navigiere, habe ich das Problem, dass die DetailPage-Navigation meine Aktionsleiste für die MasterPage außer Kraft setzt. Kann ich beides in der Actionbar, dem Burgermenicon und dem Backbutton haben?So navigieren Sie tiefer in einer Xamarin-Detailseite

vor Navigation: before navigation nach Navigation: after navigation

public partial class MasterPage : MasterDetailPage 
{ 
    public MasterPage() 
    { 

     Master = SetMasterContentPage(); 
     Detail = new NavigationPage(new TaxonomyOverviewPage()); 
    } 

    ContentPage SetMasterContentPage() 
    { 
     var masterPage = new ContentPage { Title = "Test"}; 
     masterPage.Content = new StackLayout 
     { 
      Children = { 
       new Label{Text="Label1"}, 
       new Label{Text="Label2"}, 
       new Label{Text="Label3"} 
      } 
     }; 

     return masterPage; 
    } 

    protected override void OnAppearing() 
    { 
     base.OnAppearing(); 
    } 
} 

Antwort

2

Problem gelöst ist.

Ich habe eine öffentliche statische MasterDetailPage verwendet und auf die MainPage in App.cs verwiesen. Jetzt kann ich auf die IsPrened-Eigenschaft der MasterDetailPage zugreifen.

public partial class App : Application 
{ 
    public static MasterPage masterdetail; 

    public App() 
    { 
    InitializeComponent(); 
    } 

    protected override void OnStart() 
    { 
     masterdetail = new MasterPage(); 
     Device.BeginInvokeOnMainThread(() => { 
     MainPage = masterdetail; 
     }); 
    } 

} 

Schließlich füge ich ein Menuicon auf der rechten Seite der Aktionsleiste hinzu.

protected override void OnAppearing() 
    { 
     base.OnAppearing(); 
     ToolbarItems.Add(new ToolbarItem("Menu", "menuicon.png",() => { App.masterdetail.IsPresented = true; })); 
    } 
+0

Das ist fantastisch .. Ich hatte genau das gleiche "Problem" .. Danke – sirius

Verwandte Themen