MAUI中mac的标题栏颜色默认是灰白色的,有一点丑

如果我们想要自定义颜色,并且在运行时也能更改颜色,该怎么办呢

万幸从一个GitHub库中借鉴到了办法 https://github.com/BenBtg/MauiMacToolBar 这个库是自定义标题栏,如果你想自定义标题栏,而不仅仅是改变颜色,可以直接去看这个库。

第一步

Platforms/MacCatalyst文件夹下添加MacTitleBar.cs

#nullable disable
#pragma warning disable CA1416
public static class MacTitleBar
{
public static void SetTitleBarColorForMac(Color backgroundColor, Color foregroundColor)
{
var res = Application.Current.Resources;
res["PageBackgroundColor"] = backgroundColor;
res["PrimaryTextColor"] = foregroundColor;
} public static void InitTitleBarForMac(object sender, EventArgs e)
{
#if MACCATALYST14_2_OR_GREATER
var window = sender as Window;
var uiWindow = window.Handler.PlatformView as UIKit.UIWindow; if (uiWindow != null)
{
uiWindow.WindowScene.Titlebar.TitleVisibility = UIKit.UITitlebarTitleVisibility.Hidden;
}
#endif
}
}

第二步

修改App.xaml.cs

protected override Window CreateWindow(IActivationState? activationState)
{
Window window = base.CreateWindow(activationState); #if MACCATALYST
window.Created += MacTitleBar.InitTitleBarForMac;
#endif
return window;
}

调用

#if MACCATALYST
var backgroundColor = Colors.White;
var foreColor = Colors.Black;
MacTitleBar.SetTitleBarColorForMac(backgroundColor, foreColor);
#endif

实际上,在这个uiWindow.WindowScene.Titlebar.TitleVisibility = UIKit.UITitlebarTitleVisibility.Hidden;生效之后,mac的标题栏就会显示App.xaml中<Color x:Key="PageBackgroundColor">#fff</Color>的颜色,所以我们更改PageBackgroundColor的颜色,就能改变标题栏颜色

【MAUI Blazor踩坑日记】6.mac标题栏颜色修改的更多相关文章

  1. Hexo搭建静态博客踩坑日记(一)

    前言 博客折腾一次就好, 找一个适合自己的博客平台, 专注于内容进行提升. 方式一: 自己买服务器, 域名, 写前端, 后端(前后分离最折腾, 不分离还好一点)... 方式二: 利用Hexo, Hug ...

  2. AI相关 TensorFlow -卷积神经网络 踩坑日记之一

    上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是g ...

  3. 人工智能(AI)库TensorFlow 踩坑日记之一

    上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是g ...

  4. hexo博客谷歌百度收录踩坑日记

    title: hexo博客谷歌百度收录踩坑日记 toc: false date: 2018-04-17 00:09:38 百度收录文件验证 无论怎么把渲染关掉或者render_skip都说我的格式错误 ...

  5. Hexo搭建静态博客踩坑日记(二)

    前言 Hexo搭建静态博客踩坑日记(一), 我们说到利用Hexo快速搭建静态博客. 这节我们就来说一下主题的问题与主题的基本修改操作. 起步 chrome github hexo git node.j ...

  6. React Native Android配置部署踩坑日记

    万事开头难 作为一只进入ECMAScript世界不久的菜鸟,已经被React Native的名气惊到了,开源一周数万星勾起了我浓烈的兴趣.新年新气象,来个HellWorld压压惊吧^_^(故意少打个' ...

  7. JavaScript 新手的踩坑日记

    引语 在1995年5月,Eich 大神在10天内就写出了第一个脚本语言的版本,JavaScript 的第一个代号是 Mocha,Marc Andreesen 起的这个名字.由于商标问题以及很多产品已经 ...

  8. 人工智能(AI)库TensorFlow 踩坑日记之二

    上次 踩坑日志之一 遗留的问题终于解决了,所以作者(也就是我)终于有脸出来写第二篇了. 首先还是贴上 卷积算法的示例代码地址 :https://github.com/tensorflow/models ...

  9. 微信小程序开发踩坑日记

    2017.12.29  踩坑记录 引用图片名称不要使用中文,尽量使用中文命名,IDE中图片显示无异样,手机上图片可能出现不显示的情况. 2018.1.5  踩坑记录 微信小程序设置元素满屏,横向直接w ...

  10. cocos creator踩坑日记

    踩坑一 问题:项目在构建成Web Mobile后运行在浏览器和微信中,点击页面任何地方都会导致自动全屏 解决:在构建之后的main.js中,去掉 cc.view.enableAutoFullScree ...

随机推荐

  1. Nacos Prometheus Grafana

    目录 运维篇:springboot与微服务组件nacos Linux服务器部署springboot项目 Springboot启动服务指定参数 Linux & Win 监控运行中的服务 Prom ...

  2. redhat中如何设置开机启动脚本

    redhat中如何设置开机启动脚本 前面转载了一篇关于开机启动脚本的文章,觉得写的很详细了,但是自己没有实践,下面是自己实践了一种方式,来设置开机启动脚本(因为有时候我们必须开机关闭一些防火墙,SEL ...

  3. [Pytorch框架] 1.1、Pytorch简介

    文章目录 1.1 Pytorch 简介 1.1.1 PyTorch的由来 1.1.2 Torch是什么? 1.1.3 重新介绍 PyTorch 1.1.4 对比PyTorch和Tensorflow 1 ...

  4. 2021-08-18:扰乱字符串。使用下面描述的算法可以扰乱字符串 s 得到字符串 t :1.如果字符串的长度为 1 ,算法停止。2.如果字符串的长度 > 1 ,执行下述步骤:在一个随机下标处将字符串

    2021-08-18:扰乱字符串.使用下面描述的算法可以扰乱字符串 s 得到字符串 t :1.如果字符串的长度为 1 ,算法停止.2.如果字符串的长度 > 1 ,执行下述步骤:在一个随机下标处将 ...

  5. 【Qt 6】读写剪贴板

    剪贴板是个啥就不用多介绍了,最直观的功能是实现应用程序之间数据共享.就是咱们常说的"复制"."粘贴"功能. 在 Qt 中,QClipboard 类提供了相关 A ...

  6. java解决中文乱码的几种写法

    工作中总会遇到中文乱码问题,以导出文件,文件名称是中文的话,下载下来的文件名称会乱码问题,总结了几种解决文件名乱码的写法,仅供参考. 首先定义一个汉语字符串 String zhName = " ...

  7. L1-025 正整数A+B (15 分)

    1.题目描述: 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式: 输入在一行给出A和B,其间以空格分开.问题是A ...

  8. CF1477E&大户爱的送分题题解

    CF1477E&大户爱的送分题题解 (CF1477E为我出的校内模拟赛的一道题--<大户爱的送分题>的待修版本) 大户爱的送分题 文件名OhtoAiFirst.cpp/.in/.o ...

  9. 为什么 Biopython 的在线 BLAST 这么慢?

    用过网页版本 BLAST 的童鞋都会发现,提交的序列比对往往在几分钟,甚至几十秒就可以得到比对的结果:而通过调用 API 却要花费几十分钟或者更长的时间!这到底是为什么呢? NCBIWWW 基本用法 ...

  10. SpringBoot定义优雅全局统一Restful API 响应框架六

    闲话不多说,继续优化 全局统一Restful API 响应框架 做到项目通用 接口可扩展. 如果没有看前面几篇文章请先看前面几篇 SpringBoot定义优雅全局统一Restful API 响应框架 ...