首页 > 解决方案 > 将控件模板与 Xamarin 表单选项卡式页面一起使用

问题描述

链接描述如何设置控制模板。控件模板可以在内容页面的 ContentPage 声明中使用,如下所示:

ControlTemplate="{StaticResource MainPageTemplate}"

但是不能在 TabbedPage 中完成相同的操作。如下所示:

在类型“TabbedPage”中找不到属性“ControlTemplate”。

我想使用 ControlTemplate 创建自定义导航栏,如本教程中所述。

以下是我想到并尝试到现在的解决方法。

鉴于此导航堆栈:

--- App.xaml - MainTabbedPage.xaml - Page1.xaml/Page2.xaml

1) 我在 App.Xaml 中创建了一个“ControlTemplate”,它定义了我希望导航栏的外观。

2) 使用 MainTabbedPage 中的以下行删除了默认 NavigationBar。:

NavigationPage.SetHasNavigationBar(this, false);

3) 并在 Page1.xaml 和 Page2.xaml 中设置以下行:

ControlTemplate="{StaticResource MainPageTemplate}"

这确实删除了默认导航栏,并显示了 ControlTemplate 中定义的自定义导航栏,但是,选项卡式菜单显示在第一行,而自定义导航栏显示在第二行。当然,我希望它是相反的方式。

任何不需要的解决方法也创建自定义选项卡式导航页面?也许有什么方法可以扩展 Xamarin Forms 默认选项卡式页面?或者我可以在上述不完整的解决方法中做一些不同的事情?

标签: xamlxamarinxamarin.formsnavigationbartabbedpage

解决方案


推荐阅读