MAUI Blazor (Windows) App 动态设置窗口标题

原文链接 [https://www.cnblogs.com/densen2014/p/16950996.html]

接着上一篇”如何为面向 Windows 的 MAUI Blazor 应用程序设置窗口标题?”

Tips: 总所周知,MAUI 除了 Windows App 其他平台窗口是没有 Title 这回事的.

在 Blazor 里面可以直接给页面打上 <pagetitle>MauiApp7test</pagetitle> 动态设置页面标题,在 Windows 的 MAUI Blazor 应用程序设置是没有效果的,因为这个只是设置了 BlazorWebView 控件的标题,并不是真正的窗口标题, 接着上一篇的知识改造一下动态设置标题:

工程文件 Platforms -> Windows -> App.xaml.cs
using Microsoft.UI;
using Microsoft.UI.Windowing;
using Microsoft.UI.Xaml;
using WinRT.Interop;
...

namespace MauiApp7test.WinUI
{
    public partial class App : MauiWinUIApplication
    {
        public static object CurrentWindow;
        public static AppWindow AppWindow;

        protected override void OnLaunched(LaunchActivatedEventArgs args)
        {
            base.OnLaunched(args);

            CurrentWindow = Application.Windows[0].Handler?.PlatformView;
            IntPtr _windowHandle = WindowNative.GetWindowHandle(CurrentWindow);
            var windowId = Win32Interop.GetWindowIdFromWindow(_windowHandle);
            AppWindow = AppWindow.GetFromWindowId(windowId);

            SetTitle("MauiApp7test");
        }

        public static void SetTitle(string title) => AppWindow.Title = title;

        protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
    }
}

页面文件 Pages ->PagesIndex.razor

@code {
    protected override void OnAfterRender(bool firstRender)
    {
        if (firstRender)
        {
#if WINDOWS
            WinUI.App.SetTitle("MauiApp7test - Index");
#endif
        }
    }
}

页面文件 FetchData.razor

@code {
    private WeatherForecast[] forecasts;

    protected override async Task OnInitializedAsync()
    {
#if WINDOWS
        WinUI.App.SetTitle("MauiApp7test - Fetchdata");
#endif
        forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
    }
}

运行效果

MAUI Blazor (Windows) App 动态设置窗口标题

MAUI Blazor (Windows) App 动态设置窗口标题

MAUI Blazor (Windows) App 动态设置窗口标题

总结

MAUI 还是一个新鲜事物,在官方还没支持的一些骚操作的情况下多发散思维,总能填坑的.

标题设置这里只是写了个方法去设置,也可以写成接口各平台实现,注入服务方式调用,理论上会更加通用一点.

项目源码

Github | Gitee

知识共享许可协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名AlexChow(包含链接: https://github.com/densen2014 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

AlexChow

今日头条 | 博客园 | 知乎 | Gitee | GitHub

MAUI Blazor (Windows) App 动态设置窗口标题

Original: https://www.cnblogs.com/densen2014/p/16950996.html
Author: AlexChow
Title: MAUI Blazor (Windows) App 动态设置窗口标题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/797250/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • windows下conda安装pytorch_gpu和cupy

    1.安装pytorch_gpu查看cuda版本:cmd中输入nvcc -V我的cuda版本:11.1 官方文档的重要性:链接: https://pytorch.org/get-st…

    Python 2023年9月8日
    088
  • Python+Socket实现多人聊天室,功能:好友聊天、群聊、图片、表情、文件等

    一、项目简介 本项目主要基于python实现的多人聊天室,主要的功能如下: 登录注册 添加好友 与好友进行私聊 创建群聊 邀请/申请加入群聊 聊天发送图片 聊天发送表情 聊天发送文…

    Python 2023年11月8日
    045
  • Opencv——图像添加椒盐噪声、高斯滤波去除噪声原理及手写Python代码实现

    一、噪声 我们将常会听到平滑(去噪),锐化(和平滑是相反的),那我们就会有疑惑?什么是噪声呢?图像噪声是指存在于图像数据中不必要的或多余的干扰信息,噪声的存在严重影响了图像的质量。…

    Python 2023年9月28日
    073
  • 大家都在用MySQL count(*)统计总数,到底有什么问题?

    在日常开发工作中,我经常会遇到需要统计总数的场景,比如:统计订单总数、统计用户总数等。一般我们会使用MySQL 的count函数进行统计,但是随着数据量逐渐增大,统计耗时也越来越长…

    Python 2023年10月21日
    054
  • 关于在django框架中在admin页面下添加自定义按钮并实现功能

    关于如何在django中admin页面下添加自定义按钮并实现功能 最近使用Django的admin页面开发了一个产品信息管理系统,由于需求的不断增加,需要在admin页面自定义一些…

    Python 2023年8月5日
    0105
  • 数据分析实战<一>脑电(EEG)分析

    这两天需要对预实验的脑电进行一个分类,在这里记录一下流程 脑电分析系列文章mne官网mne教程随机森林分类Python 多因素方差分析 文章目录 1. 脑电数据的处理 * 1.1 …

    Python 2023年9月16日
    042
  • 初识pytest

    初识pytest pytest单元测试框架(1)什么是单元测试框架?单元测试是指在软件开发过程当中,针对软件的最小单位(函数、方法)进行正确性的检查测试。(2)单元测试框架主要做什…

    Python 2023年9月10日
    035
  • python画雪景_来自程序员的圣诞节浪漫-用Python画一棵带音乐的雪夜圣诞树

    本文我们用 Python 来画一棵带音乐效果的雪夜圣诞树,基本思路如下: 用 Python 画一棵圣诞树作为背景图 在圣诞树背景图中添加雪落效果及音乐 下面来看一下具体实现。 首先…

    Python 2023年9月21日
    045
  • 分布式爬虫关闭(scrapy)

    分类 通过scrapy框架的扩展进行检测 通过脚本定时进行进程的检测,然后杀死进程 通过制定时间进行爬虫的关闭(配置设置) scrapy框架的扩展(推荐) 书写扩展文件extens…

    Python 2023年10月4日
    047
  • 这份工具清单,令Python 提速N倍,简直太好用了

    在众多编程语言中,Python的社区生态是其中的佼佼者之一。几乎所有的技术痛点,例如优化代码提升速度,在社区内都有很多成功的解决方案。本文分享的就是一份可以令 Python 变快的…

    Python 2023年11月1日
    034
  • np.expand_dims 小白详解

    np.expand_dims 目录 np.expand_dims * 前言 第一层理解:这个axis会插在形状的哪里(知道形状会怎么改变) 第二层理解:这个数组的内在会怎么改变(知…

    Python 2023年8月23日
    046
  • 爬虫之BeautifulSoup4

    使用requests模块爬取网页数据时,获取到的是html(xml)内容,比较复杂,不容易获取到想要的数据。而BeautifulSoup4就是用于对html,xml进行解析(修改)…

    Python 2023年6月12日
    081
  • 线性回归实现

    深度学习第一章:最简单的线性回归实现 1. 引言 AI领域的线性回归和其他领域不太一样,包括了名词和实现方式,所以必须先认识重要名词,再把所有步骤熟悉一边,并建立在之前学习线性回归…

    Python 2023年10月25日
    040
  • Python-爬虫基础一(数据类型与运算符)

    1、数据类型 Number 数值 int 整型 #整数 float 浮点数 #小数 布尔类型 True False string 字符串 #使用单引号或者双引号 list 列表 l…

    Python 2023年6月12日
    070
  • python 安装各种库的镜像

    让python pip使用国内镜像#国内源:#清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:https://mirrors.ali…

    Python 2023年6月10日
    087
  • 社区版PyCharm安装并创建Django项目

    目录 1,下载Django 2,创建Django项目 3,创建应用。 4,启动项目 5,关于报错 1,下载Django 首先点击左上角的file选择setting,然后按照下方操作…

    Python 2023年8月5日
    061
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球