Show "Zurück zum Menü" - Button in iOS NavigationBar mit Xamarin.Formen

Ich versuche zu bauen, ein cross-Plattform-app mit C# und Xamarin.Formen. Es enthält eine slide-out-Menü implementiert in form einer MasterDetailPage. Während auf Android gibt es eine Schaltfläche mit der app-icon in der oberen linken Ecke, die schaltet die slide-out-Seite, es gibt keine solche navigation in der Menüleiste auf iOS.

Ich brach es nach unten, um die folgenden minimalen Beispiel, abgeleitet aus dem Xamarin-Lösung Vorlage "Blank App (Xamarin.Formen Shared)" und ersetzen die Umsetzung der App-Klasse:

public class App
{
    static MasterDetailPage MDPage;

    public static Page GetMainPage()
    {
        return new NavigationPage(
            MDPage = new MasterDetailPage {
                Master = new ContentPage {
                    Title = "Master",
                    Content = new StackLayout {
                        Children = { Link("A"), Link("B"), Link("C") }
                    },
                },
                Detail = new ContentPage { Content = new Label { Text = "A" } },
            });
    }

    static Button Link(string name)
    {
        var button = new Button { Text = name };
        button.Clicked += delegate {
            MDPage.Detail = new ContentPage { Content = new Label { Text = name } };
            MDPage.IsPresented = false;
        };
        return button;
    }
}

Die Lösung als auch der daraus resultierenden screenshots finden Sie unter GitHub.

Meine Idee war, solch ein "Menü" oder "zurück" - button in der iOS-spezifischen code ändern der window.RootViewController.NavigationController.NavigationBar innerhalb der AppDelegate Klasse. Aber window.RootViewController.NavigationController ist null.

Austausch der Rückgabetyp GetMainPage() durch NavigationPage statt Page nicht helfen.

Ich könnte hinzufügen, Symbolleiste Elemente über MDPage.ToolbarItems.Add(...), aber Sie erscheinen in der oberen Recht Ecke.

InformationsquelleAutor Falko | 2014-07-11
Schreibe einen Kommentar