xaml - 将控件模板与 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 默认选项卡式页面?或者我可以在上述不完整的解决方法中做一些不同的事情?
解决方案
推荐阅读
- error-handling - 我对以下 Rust“reqwest”代码的理解是否正确?
- python - 使用熊猫根据另一列过滤数据框值
- docker - 使用 Golang 和 Docker 导入外部包时构建失败
- java - JPA @OnetoOne 与两列非空的自引用关系
- sql - 选择每小时所有最大值的总和
- python - Matplotlib 不打印小线
- python - Python Dash Table - 如何在单元格值后面嵌入href
- ios - 一种新语言在文本输入中的出现
- node.js - 如何在我的猫鼬模式中引用多个模式?
- c++ - 如何以编程方式生成相同值的 std::index_sequence 而无需对每个元素进行递归模板实例化