当前位置: 首页 > news >正文

示例:推荐一个应用Adorner做的通知和提示消息对话框

一、目的:在开发过程中,增加一些提示消息可以很好的提高用户体验,下面介绍一个用于增加提示消息的库


二、效果如下


可以看到右侧顶端弹出提示消息,消息间隔3s自动退出

三、环境


VS2022 Net7

四、使用方式

安装nuget包:H.Modules.Messages.Dialog和H.Modules.Messages.Notice

 添加如下代码

        private NoticeMessageService _noticeMessageService = new NoticeMessageService();public RelayCommand ShowInfoNoticeCommand => new RelayCommand(async (s, e) =>{_noticeMessageService.ShowInfo("提示信息");});

注:v1.0.1中NoticeMessageService需要用单例来显示

后面版本采用 NoticeDialog.ShowInfo(string message)

更多扩展,成功提示,错误提示,警告提示,严重错误提示,进度提示,字符串进度提示,对话框提示,效果如下:

也可以自定义提示消息

首先,自定义一个类继承INoticeItem接口

    public class MyNotice : INoticeItem{public string Message { get; set; }public string Time { get; }}

然后,定义一下MyNotice的DataTemplate

    <Application.Resources><DataTemplate DataType="{x:Type local:MyNotice}"><BorderHeight="50"Margin="5"Padding="10,6"Background="{x:Static SystemColors.ControlBrush}"CornerRadius="2"><Grid VerticalAlignment="Center"><Grid.ColumnDefinitions><ColumnDefinition /><ColumnDefinition /><ColumnDefinition /></Grid.ColumnDefinitions><TextBlock Grid.Column="0" Text="请输入姓名:" /><TextBoxGrid.Column="1"MinWidth="120"Text="{Binding Message}" /><ButtonGrid.Column="3"Command="{h:DeleteCommand}"CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}}"Content="确定" /></Grid></Border></DataTemplate></Application.Resources>

 如上是定义了一个输入姓名的自定义模板,运行效果如下:

 

五、需要了解的知识点

System.Windows.Controls 命名空间 | Microsoft Learn

六、源码地址

GitHub - HeBianGu/WPF-ControlDemo: 示例

GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库

GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库

七、了解更多

System.Windows.Controls 命名空间 | Microsoft Learn

https://github.com/HeBianGu

HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频

相关文章:

示例:推荐一个应用Adorner做的通知和提示消息对话框

一、目的&#xff1a;在开发过程中&#xff0c;增加一些提示消息可以很好的提高用户体验&#xff0c;下面介绍一个用于增加提示消息的库 二、效果如下 可以看到右侧顶端弹出提示消息&#xff0c;消息间隔3s自动退出 三、环境 VS2022 Net7 四、使用方式 安装nuget包&#xff…...

nvdiadocker相关配置S3Gaussian

https://download.csdn.net/download/sinat_21699465/89458214 dockerfile文件参考&#xff1a; https://download.csdn.net/download/sinat_21699465/89458214 prework&#xff1a; 显卡驱动决定了cuda版本支持的上限。例如nvdia535驱动最高支持cuda12.2所以显卡驱动版本选…...

【科技前沿】电子设计新贵SmartEDA:为何它引领行业风潮?

在当今这个电子科技日新月异的时代&#xff0c;电子设计工具如同设计师的魔法棒&#xff0c;不断推动着产品创新的速度。而近期&#xff0c;一款名为SmartEDA的电子国产设计仿真软件异军突起&#xff0c;成为了行业内的新宠。那么&#xff0c;SmartEDA究竟有何过人之处&#xf…...

免费悬浮翻译器哪个好?测评5款悬浮翻译器

在享受休闲时光时&#xff0c;我们通常都希望不被打扰&#xff0c;对吧&#xff1f; 然而&#xff0c;有时打扰我们的并非是外界的干扰&#xff0c;而是在观看外语视频时&#xff0c;无法理解视频内容的烦躁感。 不过&#xff0c;今天本文将为大家揭开几款屏幕悬浮翻译软件的…...

压缩文件解压方法总结

在日常工作和生活中&#xff0c;压缩文件已经成为我们传输和存储大文件的常见方式。压缩文件可以将多个文件或文件夹打包成一个文件&#xff0c;并通过压缩算法减小文件的体积&#xff0c;从而节省存储空间和传输时间。收到压缩文件后&#xff0c;我们需要将其解压才能查看和使…...

探索Elastic Search:强大的开源搜索引擎,详解及使用

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 全文搜索属于最常见的需求&#xff0c;开源的 Elasticsearch &#xff08;以下简称 Elastic&#xff09;是目前全文搜索引…...

vue中的代码分割

随着Web应用的日益复杂化&#xff0c;用户对页面加载速度的期望越来越高。在这种背景下&#xff0c;前端性能优化成为了开发者们必须面对的挑战。Vue.js&#xff0c;作为现代前端开发的首选框架之一&#xff0c;其轻量级和灵活性为构建高性能的Web应用提供了可能。然而&#xf…...

java课程设计GUI学生信息管理系统

目录 系统内容.. 3 用户界面模块... 4 数据存储模块... 4 信息管理模块... 4 管理模块.. 4 主要模块的算法描述... 4 –简要的语言描述... 4 运行及调试分析&#xff08;测试数据及测试结果&#xff09;.. 5 课程设计总结... 7 参考文献&#xff08;至少三个&#xf…...

一网通办怎么办?一网统管怎么管?

一网通办怎么办?一网统管怎么管? 下面资源来源于网络,如有侵权请联络删除! **一网通办与一网统管的建设背景、建设情况及建设意义** 一、建设背景随着信息技术的飞速发展,传统的政务服务方式已难以满足人民群众日益增长的需求。各部门信息系统独立运行,导致信息孤岛现象…...

Kubernetes Dashboard

Minikube 环境搭建 Kubernetes 的基本架构 Kubernetes 声明式语言 YAML YAML操作Kubernetes核心对象 CentOs搭建Kubernetes集群 Kubernetes进阶对象Deployment、DaemonSet、Service Kubernetes进阶对象Ingress、Ingress Class、Ingress Controller Kubernetes集群部署项目实践 …...

NSSCTF-Web题目15

目录 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]Ez_upload 1、题目 2、知识点 3、思路 [HNCTF 2022 WEEK2]ez_SSTI 1、题目 2、知识点 SSTI、Jinja2 参考链接&#xff1a;1. SSTI&#xff08;模板注入&#xff09;漏洞&#xff08;…...

每天认识:轮询和中断

轮询&#xff08;Polling&#xff09;和中断&#xff08;Interrupt&#xff09;是两种不同的事件处理机制&#xff0c;通常用于操作系统、硬件设备或软件程序中&#xff0c;以响应外部事件或内部状态变化。下面分别解释这两个概念&#xff1a; 轮询&#xff08;Polling&#x…...

SpringBoot中使用MQTT实现消息的订阅和发布

SpringBoot中使用MQTT实现消息的订阅和发布 背景 java框架SpringBoot通过mQTT通信 控制物联网设备 还是直接上代码 第一步依赖&#xff1a; <!--mqtt相关依赖--><dependency><groupId>org.springframework.integration</groupId><artifactId>s…...

等保测评练习10

等级保护初级测评师试题10 姓名&#xff1a; 成绩&#xff1a; 判断题&#xff08;10110分&#xff09; 1.等级保护2.0三级系统测评合格最低分为60分&#xff08;&#xff09; 70分且不能有高风险 2.当远程管理云计算平台中设备是…...

VBA学习(16):工作表事件示例:输入数据后锁定单元格

在工作表单元格中输入数据后&#xff0c;该单元格就被锁定&#xff0c;不能再编辑。 打开VBE&#xff0c;在工程资源管理器中双击该工作表名称打开其代码模块&#xff0c;在其中输入下面的代码&#xff1a; 假设整个工作表的LockedFalse Private Sub Worksheet_Change(ByVal …...

mysql学习——SQL中的DDL和DML

SQL中的DDL和DML DDL数据库操作&#xff1a;表操作 DML添加数据修改数据删除数据 学习黑马MySQL课程&#xff0c;记录笔记&#xff0c;用于复习。 DDL DDL&#xff1a;Data Definition Language&#xff0c;数据定义语言&#xff0c;用来定义数据库对象(数据库&#xff0c;表&…...

什么是多态?一文彻底搞懂!

什么是多态 面向对象程序设计有三要素&#xff1a;封装、继承&#xff08;或组合&#xff09;、多态&#xff0c;前两者较好理解&#xff0c;多态总让人困惑&#xff0c;不知道具体有什么作用&#xff0c;更不知道为什么要用多态。今天就来详细分析下什么是多态&#xff0c;以…...

CST电磁仿真软件的参数类型和含义【电磁仿真入门教程】

如果你是一位工程师或设计师&#xff0c;那你对电磁仿真软件CST Studio Suite一定不会感到陌生。CST软件可以帮助你模拟电磁场和电路行为&#xff0c;从而优化产品设计。本文将带你了解CST电磁仿真软件的一些关键参数&#xff0c;并解释其含义。CST电磁仿真软件的参数是指在使用…...

华为HCIA综合实验(结合前几期所有内容)

第一章 实验目的 &#xff08;1&#xff09;配置Telnet&#xff0c;要求所有网络设备支持远程管理&#xff0c;密码为admin&#xff08;2&#xff09;配置Trunk&#xff0c;交换机之间的链路均为Trunk模式&#xff08;3&#xff09;配置VLAN&#xff0c;在SW2和SW3上创建相关…...

git 拉下来的项目,出现“加载失败”的解决方法

现象&#xff1a; 1、对加载失败的项目&#xff0c;尝试重新加载 解决思路&#xff1a;根据上面的提示&#xff0c;打开F盘对应的 .vcxproj文件&#xff0c;查看里面关于opencv454.props的内容 先删了&#xff0c;后面再补 2、当前的工作重点是消除加载失败的情况&#xff0c;…...

从安装到第一个程序:VS2022社区版+C语言开发极简入门(含代码模板)

从安装到第一个程序&#xff1a;VS2022社区版C语言开发极简入门 在数字化浪潮席卷各行各业的今天&#xff0c;编程能力已成为继外语之后的又一基础技能。对于非计算机专业背景的学习者而言&#xff0c;选择合适的学习路径尤为重要。Visual Studio 2022社区版作为微软官方提供的…...

从零到一:深度解析BertTokenizer.from_pretrained的加载机制与实战技巧

1. 初识BertTokenizer.from_pretrained&#xff1a;你的NLP敲门砖 第一次接触Hugging Face的Transformers库时&#xff0c;我被BertTokenizer.from_pretrained()这个方法深深吸引了。它就像是一把万能钥匙&#xff0c;能快速打开各种预训练语言模型的大门。记得当时我尝试用传统…...

Open UI5 源代码解析之736:CardBase.js

源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.f\src\sap\f\CardBase.js CardBase.js 深度解析:在 OpenUI5 中承上启下的卡片基座 文件定位与整体判断 CardBase.js 位于 sap.f 库下,它不是面向业务开发者直接频繁实例化的组件,而是一个被多种卡片实…...

FlexRay帧格式拆解:从Header到Trailer,手把手教你读懂汽车总线的‘数据包’

FlexRay帧格式实战解析&#xff1a;像拆解网络包一样掌握汽车总线通信 在汽车电子系统开发中&#xff0c;理解总线协议就像网络工程师需要精通TCP/IP一样重要。FlexRay作为高性能车载网络的核心协议&#xff0c;其帧格式设计既体现了汽车电子对确定性的严苛要求&#xff0c;又融…...

Qwerty Learner字体优化:提升阅读体验的细节处理

Qwerty Learner字体优化&#xff1a;提升阅读体验的细节处理 【免费下载链接】qwerty-learner 为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers 项目地址: https://gitcode.…...

Phi-4-mini-reasoning一文详解:专为多步推理设计的开源大模型实战

Phi-4-mini-reasoning一文详解&#xff1a;专为多步推理设计的开源大模型实战 1. 模型概述 Phi-4-mini-reasoning是一款专注于推理任务的文本生成模型&#xff0c;特别擅长处理需要多步分析的复杂问题。与通用聊天模型不同&#xff0c;它被设计用来解决数学题、逻辑题等需要逐…...

用Python的igraph和leidenalg搞定知识图谱布局:一个科研领域的可视化实战

科研知识图谱实战&#xff1a;用PythonLeiden算法揭示学科交叉规律 当你在文献海洋中寻找研究方向时&#xff0c;是否曾被复杂的学科交叉关系困扰&#xff1f;传统的关键词共现分析已经不能满足现代科研的需求。本文将带你用Python的igraph和leidenalg构建一个能自动识别学科社…...

Fish-Speech-1.5技术报告解读:LLM如何提升TTS表现

Fish-Speech-1.5技术报告解读&#xff1a;LLM如何提升TTS表现 1. 引言 你有没有想过&#xff0c;为什么有些语音合成系统听起来还是那么"机械"&#xff0c;而有些已经几乎和真人无异&#xff1f;这背后的技术差距到底在哪里&#xff1f;今天我们要聊的Fish-Speech-…...

3个创新方法:用Krita AI Diffusion插件实现智能动画制作

3个创新方法&#xff1a;用Krita AI Diffusion插件实现智能动画制作 【免费下载链接】krita-ai-diffusion Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. 项目地址: https://gitco…...

【计算机网络工程论文】基于三层交换的局域网设计:连平中学教学楼VLAN划分与eNSP仿真应用

摘 要 随着连平中学发展和信息化平台的建设&#xff0c;面对庞大的信息数据和高要求的管理效率&#xff0c;网络的规划、管理、安全逐渐成为关键。对教学楼而言&#xff0c;规划一个高效、稳定、可扩展的局域网至关重要。 本文针对连平中学教学单位&#xff0c;鉴于其所有部门…...