Ihnen einen Trick geben! Angenommen, Sie haben eine Login-Seite, nach der Authentifizierung gehen Sie zu RootPage, die eine MasterDetailPage ist.
Werfen Sie einen Hauch von von unten Code
namespace LoginNavigation
{
public class App : Application, IloginInterface
{
public static App current;
public static bool IsUserLoggedIn { get; set; }
public static double ScreenWidth;
public static double ScreenHeight;
public App() {
current = this;
MainPage = new LoginPageWithStack();
}
public void Logout() {
MainPage = new LoginPageWithStack();
}
public void ShowMainPage() {
MainPage = new RootPage();
}
}
}
rootPage:
namespace LoginNavigation
{
public class RootPage:MasterDetailPage
{
MenuPage menuPage;
public RootPage() {
ToolbarItems.Add(new ToolbarItem("Filter", "ring.png", async() => {
var page = new ContentPage();
var result = await page.DisplayAlert("Title", "Message", "Accept", "Cancel");
Debug.WriteLine("success: {0}", result);
}));
menuPage = new MenuPage();
menuPage.Menu.ItemSelected += (sender, e) => NavigateTo (e.SelectedItem as MenuItemForMaster);
//Master = new MasterMenu();
Master = menuPage;
Detail = new NavigationPage (new TimeSheet()){
BarBackgroundColor = Color.FromHex("008dce"),BackgroundColor = Color.FromHex("008dce")
};
}
void NavigateTo (MenuItemForMaster menu) {
if (menu == null)
return;
Page displayPage = (Page)Activator.CreateInstance (menu.TargetType);
//Detail = displayPage;
Detail = new NavigationPage (displayPage) { BarBackgroundColor = Color.FromHex("008dce"),BackgroundColor = Color.FromHex("008dce")};
menuPage.Menu.SelectedItem = null;
IsPresented = false;
}
}
}
Also der Trick ist, die aktuelle Instanz von App-Klasse erhalten und Startseite Eigenschaft davon manipulieren.
Ich habe es versucht, aber immer noch nicht funktioniert. Können Sie bitte den spezifischen Code, den ich in App.cs schreiben sollte, aktualisieren, damit ich auf der Hauptdetailseite nach der Inhaltsseite weitergehen kann. – anand