如何在 .NET MAUI Flyout Shell 应用程序中自定义标题?

2023-12-02

1

  1. 如何缩小标题间距?
  2. 当我更改汉堡图标时,其图标颜色始终为白色。怎么了?
  3. 我可以设置标题字体大小和字体系列吗?

在 Android 上可以设置contentInsetLeft, contentInsetStart, contentInsetStartWithNavigation。 但我不知道如何在 .NET MAUI 中执行此操作。


自定义标题视图

如果您使用默认的 MAUI 应用程序模板,那么您正在使用 Shell,它允许您设置自定义 TitleView:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:views="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
             x:Class="MyApp.Views.MyPage"
             Title="MyPage">

  <Shell.TitleView>
    <Grid>
      <Label 
        Text="Hello"
        HorizontalOptions="Start"
        VerticalOptions="Center"
        BackgroundColor="Orange"
        TextColor="White"
        FontSize="Title" />
    </Grid>
  </Shell.TitleView>

  <!-- .. -->
</ContentPage>

这允许您完全自定义 TitleView、向其添加按钮、更改字体、大小和颜色等。

标题间距/ContentInsetStartWithNavigation

如果没有标题和菜单图标之间的间距,则无法更改映射器/处理程序或自定义渲染器。

您可以将以下内容附加到Toolbar在你的代码中的某个地方,例如在你的MauiProgram.cs:

    Microsoft.Maui.Handlers.ToolbarHandler.Mapper.AppendToMapping("CustomNavigationView", (handler, view) =>
    {
#if ANDROID
        handler.PlatformView.ContentInsetStartWithNavigation = 0;
#endif
    });

变更前:

enter image description here

更改后:

enter image description here

汉堡菜单图标颜色

也可以更改汉堡菜单图标颜色,但这已在其他问题中涵盖:

如何让默认的 shell 弹出图标在 android 深色主题打开/关闭时做出反应

使用 shell 时如何更改毛伊岛汉堡吧的颜色

更改 .NET MAUI 应用程序中的汉堡菜单图标

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 .NET MAUI Flyout Shell 应用程序中自定义标题? 的相关文章

  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 在 C++ 中使用 matlab 结构(matlab 函数调用的返回值)(由 matlab 编译器生成的库)

    你好 我有一个相当简单的 matlab 函数 例如 function MYSTRUCT myfunc MYSTRUCT prop1 test MYSTRUCT prop2 foo MYSTRUCT prop3 42 end 我用 matla
  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 为什么 int8_t 和用户通过 cin 输入显示奇怪的结果[重复]

    这个问题在这里已经有答案了 一小段代码让我发疯 但希望你能阻止我跳出窗外 看这里 include
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 使用Numpy的loadtxt读取十六进制数字

    我只能从文本文件中读取整数值 但是当我尝试读取十六进制格式的整数时 会发生错误 我正在使用的代码行是 output np loadtxt fidOut dtype int32 delimiter n 你能帮助我吗 您需要添加一个转换器 以便
  • .bat 脚本来比较两个 Windows 文件夹的内容

    我想编写一个简短的 bat 脚本来比较两个文件夹的内容 文件夹 1 包含约 1300 个文件 文件夹 2 包含约 400 个文件 我想要一个可以通过 Windows 命令行运行的脚本 该脚本将文件夹 2 中的每个文件检查以查看文件夹 1 中
  • ShoppingCart 类型的clear() 方法未定义

    我正在通过JSP实现一个购物网站 我有一个名为的 Java 对象ShoppingCart还有一个叫做 Item 在ShoppingCart有一个包含 Item 对象的向量 这个想法是当我打电话给addItem 方法 我使用 cart add
  • 如何在 Python 中将文件读入列表? [复制]

    这个问题在这里已经有答案了 我想提示用户生成一些随机数并将其保存到文件中 他给了我们那部分 我们要做的部分是打开该文件 将数字转换为列表 然后查找平均值 标准差等 而无需使用简单的内置 Python 工具 我尝试过使用open但它给了我无效
  • 更改 Rectangle.Fill 或 Grid.Background 的自定义颜色

    我可以在 xaml 中使用以下内容更改自定义颜色矩形 A125AA 但我不知道在哪里可以找到更改自定义颜色的代码 我只知道颜色代码有 this gridgcolor Background new SolidColorBrush Colors
  • 有反向代理能力的纯Python网络服务器?

    我正在寻找一个基于纯Python的Web服务器也具有反向代理的能力 看一下Twisted 特别是其反向代理资源 Twisted Web 还提供了在反向代理后面设置的各种工具 这是将 Twisted 应用程序与现有站点集成的建议机制
  • mvc3,编辑器模板,css 类,最大长度和大小

    我有一个编辑器模板如下 但 class maxlength 和 size 属性未获取源代码 using System Globalization model DateTime Html TextBox Model null Model Ha
  • GCC 常量变量的弱属性

    我有一个关于 const 变量的弱属性的问题 我用 gcc 编译了以下几个文件 main c include
  • Powershell - 每月计划任务触发器

    我目前正在通过 Powershell 自动创建计划任务 并且我正在使用New ScheduledTaskAction New ScheduledTaskTrigger and Register ScheduledTask命令 现在 我有一些
  • 删除所有已安装的 OpenCV 库

    我正在运行 Kubuntu 11 10 带有 KDE 4 8 在阅读这一切之前 我只想从我的系统中删除 OpenCV 的所有痕迹 这样我就可以重新开始 整个故事 我首先安装了 python opencv 和 libopencv 我认为是 2
  • Javascript 中函数声明中的双冒号?

    今天我发现了这段代码片段 我找不到anything相关解释此语法 真的是JavaScript吗 这是对的吗 如果不是 代码应该是什么样子 这是一个没
  • 更新到 laravel 5.4 后出现会话错误

    从laravel 5 3更新到5 4后 我在vendor中遇到了错误 错误是 Symfony Component Debug Exception FatalThrowableError 调用 var www ostadbank com ve
  • Android BLE扫描模式设置间隔

    我正在编写一个小型测试应用程序来评估蓝牙模块 该应用程序当前正在使用积极的匹配模式和低延迟扫描模式进行扫描 我们控制了蓝牙模块的广告间隔 并正在尝试评估需要多少广告才能触发android中的回调 有谁知道与低延迟 平衡和低功耗扫描模式设置相
  • 使用 Java 在 GUI 编程中混合 awt 和 swing

    我在 SO 上读到混合 awt 和 swing 对于 Java 中的 GUI 编程来说并不是一个好的方法 但我无法找到任何在使用 swing 时不使用某些 awt 组件的示例 例如 即使使用 swing 我遇到的大多数示例也会使用 awt
  • MySQL:如何查询父子关系?

    假设有如下表记录 TABLE foo foo id foo parent id 1 NULL 2 NULL 3 1 4 2 5 1 6 1 7 2 8 1 9 NULL
  • Log4J 2 查找值在加载/呈现之前在配置中使用

    我正在使用 SystemPropertiesLookup 查找来配置我的 Log4J2 配置 系统属性被设置为我的主要方法中的第一行 问题是 当 Log4J 加载配置时 尚未调用 main 方法 因此系统属性尚未填充 这是我的 log4j2
  • 模板类 - 无法解析的外部符号[重复]

    这个问题在这里已经有答案了 我经常收到这个错误 但我不知道为什么 有人可以帮我找到原因吗 编辑 删除代码 将实现 您的方法定义 与类声明一起放入标头中 请参阅这在 C 常见问题解答中 一些编译器支持 export 关键字来按照您的方式执行此
  • 获取上次打开的 MS Word 文档对象

    我有一个从 MS Word 2003 模板 dot 中的 VBA AutoNew 子函数调用的 python 脚本 因此每次从此 Word 模板创建文档时它都会运行 第三方应用程序从此模板创建文档 第三方应用程序如何设置文档存在许多格式问题
  • 多态类中的虚拟析构函数

    我知道只要有一个多态基类 该基类就应该定义一个虚拟析构函数 这样当一个指向派生类对象的基类指针被删除时 它会先调用派生类的析构函数 如果我在这里错了 请纠正我 另外 如果基类析构函数是非虚拟的 则删除指向派生对象的基类指针将是未定义的行为
  • 如何在 .NET MAUI Flyout Shell 应用程序中自定义标题?

    如何缩小标题间距 当我更改汉堡图标时 其图标颜色始终为白色 怎么了 我可以设置标题字体大小和字体系列吗 在 Android 上可以设置contentInsetLeft contentInsetStart contentInsetStartW