在Xamarin.Forms UWP项目中激烈标题栏和标签之间的空白区域

我几乎是Xamarin.Forms的新手 ,我正在开发一个相当简单的跨平台应用程序。 该应用在Android中显示足够好,但在UWP中有一个愚蠢的空白区域。 该项目包含一个带有4个NavigationPages的TabbedPage,以便在其中推送和弹出页面。

在深入研究UWP平台细节后,我能够改变标签的样式。 我一直在寻找3天的解决方案,这让我发疯了。 到目前为止我找到的唯一解决方案(在VS 2015的Live Visual Tree的帮助下)是将Visibility属性从CommandBar更改为“Collapsed” (如第3张附图所示)。 但这不是解决方案,因为它只在运行时消失。

有人可以帮忙吗? 提前致谢。

Android View , UWP View , Live Visual Tree

编辑:我的MainPage.xaml代码如下:

                        

您需要为它创建一个自定义TabbedPage ,然后创建一个UWP渲染器。

首先在PCL中创建CustomTabbedPage

 public class CustomTabbedPage : TabbedPage { } 

在您的XAML中,使用此CustomTabbedPage而不是TabbedPage 。 所有行为和UI将在所有平台上保持不变。

现在,您在UWP项目中创建一个渲染器:

 [assembly: ExportRenderer(typeof(CustomTabbedPage), typeof(CustomTabbedPageRenderer))] namespace App.UWP { public class CustomTabbedPageRenderer : TabbedPageRenderer { protected override void OnElementChanged(VisualElementChangedEventArgs e) { base.OnElementChanged(e); Control.TitleVisibility = Windows.UI.Xaml.Visibility.Collapsed; } } } 

我们使用FormsPivot.TitleVisibility隐藏Title区域。