winui3开发笔记(二)自定义标题栏

参考文章链接:https://www.programminghunter.com/article/46392310600/

注意事项

获取 AppWindowTitleBar 的实例并设置其颜色属性时,InitializeTitleBar(AppWindow.TitleBar);,只适用于Windows App SDK 1.2及以上,所以如果用win10开发,最多1.0,之前一直没有发现时开发系统环境问题,根本运行不了。所以改成win11开发就可以了
官方文档说明链接:https://learn.microsoft.com/zh-cn/windows/apps/develop/title-bar?tabs=wasdk

代码:

App.xaml.cs:

using Microsoft.UI;
using Microsoft.UI.Windowing;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Controls.Primitives;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Navigation;
using Microsoft.UI.Xaml.Shapes;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.Storage;
using WinRT.Interop;

namespace App1
{
    public partial class App : Application
    {
        public App()
        {
            this.InitializeComponent();
        }
        protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
        {
            m_window = new MainWindow();
            _windowHandle = WindowNative.GetWindowHandle(m_window);
            var windowId = Win32Interop.GetWindowIdFromWindow(_windowHandle);
            AppWindow = AppWindow.GetFromWindowId(windowId);
            AppWindow.TitleBar.ExtendsContentIntoTitleBar = true;
            InitializeTitleBar(AppWindow.TitleBar);
            m_window.Activate();
        }

        private IntPtr _windowHandle;
        public static AppWindow AppWindow { get; private set; }// 应用窗口对象.
        public static Window m_window { get; private set; }// 主窗口.
        public static void InitializeTitleBar(AppWindowTitleBar bar)
        {
            bar.ExtendsContentIntoTitleBar = true;
            // 设置成自己预期的颜色即可
            bar.ButtonBackgroundColor = ColorHelper.FromArgb(0, 240, 243, 249);
            bar.ButtonForegroundColor = Colors.Black;
            bar.ButtonHoverBackgroundColor = ColorHelper.FromArgb(0, 240, 243, 249);
            bar.ButtonHoverForegroundColor = Colors.Black;
            bar.ButtonPressedBackgroundColor = ColorHelper.FromArgb(0, 240, 243, 249);
            bar.ButtonPressedForegroundColor = Colors.Black;
            bar.ButtonInactiveBackgroundColor = ColorHelper.FromArgb(0, 240, 243, 249);
            bar.ButtonInactiveForegroundColor = Colors.Black;
        }
    }
}

AppTitleBar.xaml

<Grid Height="48" Padding="16,0,0,0" Background="#F0F3F9" RequestedTheme="Light">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition x:Name="SearchColumn" Width="*" />
        <ColumnDefinition Width="120" />
    </Grid.ColumnDefinitions>

    <StackPanel VerticalAlignment="Center" Orientation="Horizontal" Spacing="16">
        <TextBlock VerticalAlignment="Center" Style="{StaticResource CaptionTextBlockStyle}"
    Text="DeskTop" />
    </StackPanel>
</Grid>

MainWindow.xaml

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <!--删除border,改换titlebar-->
    <local1:AppTitleBar />
    <Frame x:Name="frame" Grid.Row="1"></Frame>
</Grid>

按照最开始的文章链接做的实验图片:
1、在这里插入图片描述
2、在这里插入图片描述3、在这里插入图片描述4、自定义
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/127830.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux文件系统

文章目录 引言磁盘文件系统每个分组(一个block group)中存的都是什么目录文件 软链接&#xff1a;软链接应用场景 硬链接硬链接应用场景硬链接和软链接的区别 引言 在此之前我们谈论重定向等问题都是指被打开的文件&#xff0c;现在我们来学习一下未被打开的文件&#xff0c;以…

【Proteus仿真】【51单片机】水质监测报警系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用按键、LED、蜂鸣器、LCD1602、PCF8591 ADC、PH传感器、浑浊度传感器、DS18B20温度传感器、继电器模块等。 主要功能&#xff1a; 系统运行后&…

【GUI软件开发】小红书评论采集:自动采集1w多条,含二级评论!

文章目录 一、爬取目标1.1 效果截图1.2 演示视频1.3 软件说明 二、代码讲解2.1 爬虫采集模块2.2 软件界面模块2.3 日志模块 三、附完整源码及软件 一、爬取目标 您好&#xff01;我是马哥python说 &#xff0c;一名10年程序猿。 我用python开发了一个爬虫采集软件&#xff0c…

矩阵起源荣获第八届“创客中国”深圳市中小企业创新创业大赛三等奖

近日&#xff0c;2023年第八届“创客中国”深圳市中小企业创新创业大赛圆满落下帷幕&#xff0c;矩阵起源&#xff08;深圳&#xff09;信息科技有限公司凭借项目”MatrixOne 新一代超融合异构云原生数据库”荣获企业组三等奖。 本届大赛由深圳市工业和信息化局、深圳市中小企业…

如何用Python3+requests+unittest实现接口自动化测试实战

一、Requests介绍 首先让我们来看 Requests 官方的介绍&#xff1a; Requests is an elegant and simple HTTP library for Python, built for human beings. 翻译过来就是&#xff1a;Requests 是为人类写的一个优雅而简单的 Python HTTP 库。这个介绍很直白了&#xff0c;…

ElasticSearch文档分析

ElasticSearch文档分析 包含下面的过程&#xff1a; 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”&#xff0c;或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里&#xff1a; 字符过滤器 首先&a…

乐优商城(三)品牌管理

1. 品牌的新增 1.1 url 异步请求 点击品牌管理下的新增品牌&#xff0c;填写品牌信息后提交 2.打开浏览器控制台 由此可以得知&#xff1a; 请求方式&#xff1a;POST请求路径&#xff1a;/item/brand请求参数&#xff1a;{name: “测试品牌”, image: “”, cids: “76,32…

云端生成式 AI – 基于 Amazon EKS 的 Stable Diffusion 图像生成方案

Stable Diffusion 是当下生成式 AI 领域最受欢迎的开源多模态语言-图像模型&#xff0c;由于其易用的接口和良好的使用体验&#xff0c;受到了开源社区和广大设计行业从业者的追捧。Stable Diffusion 模型版本正在快速迭代&#xff0c;并带动了各行各业的生产力变革。目前市场上…

SAP 40策略测试及简介

相信很多很多的行业中都会用到40策略按库存生产,接下来我们将详细的测试40策略 1、首先准备好成品物料AB2。 2、创建BOM—cs01 3、创建主配方C202 ,如果是离散制造的话就是创建工艺路线CA01 4、创建生产版本C223 5、同样的AB2物料增加库存20KG。 6、创建计划独立需求MD…

微信智能机器人开发-基于E云管家,实现强大的个微管理

本文介绍了如何利用E云管家开发一个功能丰富的微信智能机器人。E云管家是一个开发协议&#xff0c;为微信机器人提供了强大的功能支持&#xff0c;包括关键字回复、自动通过好友和自动发朋友圈等特性。我们将通过一个简单的示例演示如何在E云管家下实现这些功能&#xff0c;并附…

EMERSON艾默生变频器维修M600/M701/M702

艾默生变频器维修常见系列&#xff1a; EV1000 系列&#xff1a;体积小&#xff0c;操作简便&#xff0c;适用于塑料机械、纺织机械、烟草机械、陶瓷机械、制药机械食品机械、印刷机械、包装机械、空调等专用设备配套。 EV2000 系列&#xff1a;功率范围广&#xff0c;功能更…

2020年五一杯数学建模B题基于系统性风险角度的基金资产配置策略分析解题全过程文档及程序

2020年五一杯数学建模 B题 基于系统性风险角度的基金资产配置策略分析 原题再现 近年来&#xff0c;随着改革开放程度的不断提高&#xff0c;我国经济运行中的各种风险逐渐暴露并集中传导和体现于金融领域。党的“十九大”报告提出“守住不发生系统性金融风险的底线”要求&am…

企业组建客服中心,需要考虑哪些问题?

随着市场竞争的加剧&#xff0c;企业越来越注重客户服务。因此&#xff0c;组建一个专业的客服中心已成为企业的一个重要战略举措。然而&#xff0c;这个任务不仅需要考虑技术和人员方面的问题&#xff0c;还需要考虑许多其他的因素。在本文中&#xff0c;我们将探讨企业在组建…

使用双动态令牌混合器学习全局和局部动态以进行视觉识别

TransXNet: Learning Both Global and Local Dynamics with a Dual Dynamic Token Mixer for Visual Recognition 1、问题与解决2、引言3、方法3.1 双动态令牌混合器(D- Mixer)3.2 IDConv(Input-dependent Depthwise Convolution)3.3 Overlapping Spatial Reduction Attention …

Java 身份证号校验,根据身份证号识别出生地

Java 身份证号校验&#xff1a; import org.apache.commons.lang.StringUtils;import java.util.Calendar; import java.util.Collections; import java.util.HashMap; import java.util.Map;/*** desc 身份证工具类* auth llp* date 2022/7/7 16:13*/ public class IdCardNum…

神仙打架!腾讯云阿里云谁更棋高一着?

现在&#xff0c;腾讯云和阿里云都在打价格战&#xff0c;推出了一系列的优惠政策。其中&#xff0c;腾讯云服务器只需要88元&#xff0c;而阿里云服务器也只需要99元。这么便宜的价格&#xff0c;是不是让你心动不已呢&#xff1f; 腾讯云的88元服务器&#xff1a;https://te…

MySQL优化方案

Mysql优化 一、连接配置优化1.服务端配置2.客户端优化 二、架构优化1.使用缓存2.做读写分离&#xff08;集群、主从复制&#xff09;3.分库分表3.1.垂直分库3.2.垂直分表3.3.水平分表3.4.水平分库 4.消息队列削峰 三、优化器——SQL分析与优化1.慢查询优化1.1.配置慢查询日志1.…

第三方支付支付宝的信息安全分析

随着信息技术的进步&#xff0c;网络结算方式也在迅速发展。网上结算虽然便捷快速&#xff0c;但是如果没有保障的平台或者法律的支持&#xff0c;双方在没有约束的情况下&#xff0c;就会导致拖延、折扣或者拒付等许多经济事件的发生&#xff0c;由此第三方支付就随之产生。第…

嵌入式开发:ST-LINK V2.1仿真器,Type-C接口

标题ST-LINK V2.1仿真器&#xff0c;Type-C接口 之前做的版本虽然也是V2.1的&#xff0c;但使用的接口是USB的Micro形式&#xff0c;不支持正反插&#xff0c;也不兼容现在通用的手机数据线&#xff0c;出差的时候又要多带一条线。 现在终于把我的ST-LINK的接口改了一下 如下…

oracle11G在linux环境下的卸载操作

1.使用SQL*PLUS停止数据库 [oracleOracleTest oracle]$ sqlplus / as sysdba SQL> shutdown [immediate] SQL> exit2.停止Listener [oracleOracleTest oracle]$ lsnrctl stop3.停止HTTP服务 [rootOracleTest /root]# service httpd stop4.用su或者重新登录到root(如想…