Xamarin。表单页正在合并在一起
当我导航到一个新页面,将其添加到堆栈中时,如果它不是页面的全高,它会显示该页面的一部分和前一页面的一部分(如模式)。我有一个Xamarin.Forms应用程序,它使用母版详细信息页面。我已经升级到Xamarin.Forms Nuget 2.3.3.168,并且使用Visual Studio的最新Xamarin版本 我在进入新页面时还检查了导航堆栈,所有内容看起来都是正确的。我有一个母版页,它是菜单,详细信息页有一个导航页,在堆栈中有更多的页面,它们只是部分显示在彼此的顶部 我唯一改变的另一件事是,当我需要通过将Xamarin。表单页正在合并在一起,xamarin,navigation,xamarin.forms,Xamarin,Navigation,Xamarin.forms,当我导航到一个新页面,将其添加到堆栈中时,如果它不是页面的全高,它会显示该页面的一部分和前一页面的一部分(如模式)。我有一个Xamarin.Forms应用程序,它使用母版详细信息页面。我已经升级到Xamarin.Forms Nuget 2.3.3.168,并且使用Visual Studio的最新Xamarin版本 我在进入新页面时还检查了导航堆栈,所有内容看起来都是正确的。我有一个母版页,它是菜单,详细信息页有一个导航页,在堆栈中有更多的页面,它们只是部分显示在彼此的顶部 我唯一改变的另一件事是
MainPage
设置为新的MasterDetail
页面来初始化我的App()
构造函数时,因为如果我没有在Android的构造函数中这样做,它就会失败。有什么想法吗
这是我的App.cs:
public App()
{
InitializeComponent();
var masterDetailPage = new MasterDetailPage
{
Master = new Page() { Title = "Title" },
Detail = new Page(),
IsPresented = false
};
App.Current.MainPage = masterDetailPage;
}
然后,当我确定用户是否登录时,我会使用以下功能重置master detail页面:
public static void SetMainPage(Page newPage)
{
var rootPage = new NavigationPage(newPage) { BarBackgroundColor = Color.White};
_nav.Initialize(rootPage);
_dialogService.Initialize(rootPage);
App.Current.MainPage = new MasterDetailPage
{
Master = new Menu(),
Detail = rootPage,
BindingContext = new MowMagicMobileViewModelBase(),
IsPresented = false
};
}
然后从那里我调用Navigation
PushAsync()
将页面弹出到堆栈上。哇,实际上我根本没有设置背景色。我想如果你没有明确地为页面设置它,它是透明的,除非它是从某个地方继承的?我不知道这是否是解决方案,但我也有masterdetail页面。。
但我的页面是这样的
Master = new MenuPage();// it is a content page
Detail = new NavigationPage(new HomePage());
试试看
如果你想改变背景,我就那样做了
public class NavigationPageBase:NavigationPage
{
public NavigationPageBase (ContentPage c):base(c)
{
/*if (c.GetType().Equals(typeof(LoginPage)))
SetHasNavigationBar(c, false);
else
SetHasNavigationBar(c, true);*/
SetHasNavigationBar(c, true);
BarBackgroundColor = Styles.toolbarColor;
BackgroundColor = Styles.bgPageColor;
}
}
对于detailpage,您可以使用它,例如
Detail = new NavigationPageBase (new HomePage ());
通过App()
构造函数,您可以简单地
MainPage = new MyMasterDetailPage();
希望有帮助我不明白你的问题?您可以添加有问题的代码吗?@Mr.Kocak添加了代码您是否将页面背景颜色设置为
color.Transparent
?这可能是最近的错误导致的:。它已在2.3.3 sr1中修复。