此link描述了如何设置控制模板。可以在内容页面的ContentPage声明中使用该控件模板,例如:
=24*(MOD(B3,1)+INT(B3>INT(A3)))
但是在TabbedPage中不能做同样的事情。显示如下:
在“ TabbedPage”类型中找不到属性“ ControlTemplate”。
我想使用ControlTemplate来创建自定义导航栏,如本tutorial中所述。
以下是我想到并一直尝试到现在的解决方法。
给出此导航堆栈:
--- App.xaml-MainTabbedPage.xaml-Page1.xaml / Page2.xaml
1)我在App.Xaml中创建了一个“ ControlTemplate”,它定义了我希望导航栏的外观。
2)使用MainTabbedPage中的以下行删除了默认的NavigationBar。
ControlTemplate="{StaticResource MainPageTemplate}"
3)并在Page1.xaml和Page2.xaml中设置以下行:
NavigationPage.SetHasNavigationBar(this, false);
这确实删除了默认导航栏,并且确实显示了ControlTemplate中定义的自定义导航栏,但是,“选项卡式”菜单显示在第一行,而自定义导航栏显示在第二行。自然,我希望情况恰恰相反。
是否有不需要解决的方法也可以创建自定义的选项卡式导航页面?也许有什么方法可以扩展Xamarin Forms的默认选项卡式页面?或者在上述不完整的解决方法中我可以做些不同的事情?