界面控件DevExpress WPF MessageBox组件,进一步增强用户体验!

news2024/9/20 20:29:27

在DevExpress WPF v22.2版本中,官方引入了一系列功能来帮助改进一个常见WPF UI元素——MessageBox的用户体验,新的MessageBox相关选项包括:

  • 文本选择支持
  • 自定义图像支持
  • 带有计时器的按钮,可以自动关闭窗口

ThemedMessageBox类允许开发者在WPF驱动的应用程序中实现所有这些选项。

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

DevExpress WPF 最新版下载(Q技术交流:674691612)

文本选择

标准的MessageBox不允许用户选择在消息框中显示的文本,复制消息框文本的功能可以帮助组织更好地满足其用户的需求,如果用户需要引用消息、复制错误消息文本或与同事共享消息内容,则文本选择将非常有用。

例如,您可能希望使用带有文本选择的消息框,在错误编号旁边显示错误消息。使用我们的WPF MessageBox,用户可以选择和复制错误消息文本,并共享用于故障排除的数字。

实现

要在下一个WPF应用程序中合并此特性,请使用ThemedMessageBox类,在ThemedMessageBoxParameters对象中设置AllowTextSelection属性为true:

void Button_Click(object sender, RoutedEventArgs e) {
var parameters = new ThemedMessageBoxParameters() {
AllowTextSelection = true
};
ThemedMessageBox.Show(
title: "Error message",
text: $"The error code is {errorCode}",
messageBoxButtons: MessageBoxButton.OK,
messageBoxParameters: parameters
);
}

在本例中,当用户单击按钮时将出现消息框,AllowTextSelection属性激活消息框中的文本选择。

自定义图像

自定义图像可用于传达给定消息的重要性,通过使用自定义图像,您可以提供更直观的用户界面,并为消息本身提供可视化上下文。

例如,可以显示一条带有黄色感叹号的警告消息,提醒用户注意潜在的问题。可能会显示带有红色图标的错误消息,以指示问题的严重性。可能会显示一条带有绿色/蓝色图标的确认消息,表明操作已成功执行。

此外,自定义图表有助于区分按钮(使用户更容易识别那个按钮执行什么操作),当按钮具有相似或相同的标签时,此选项尤其有用。

实现

要将自定义图像添加到消息框中,请使用ThemedMessageBox类。使用以下Show方法参数来定义在ThemedMessageBox中显示的图像:

  • icon参数允许您从MessageBoxImage枚举中选择一个消息框图像。
  • image参数允许您指定自定义图像。
ThemedMessageBox.Show(
// ...

icon: MessageBoxImage.Warning,

// OR

image: new BitmapImage(new System.Uri("pack://application:,,,/WarningImage.png"))
);

你也可以在ThemedMessageBoxParameters对象中指定一个图像:

void Button_Click(object sender, RoutedEventArgs e) {
var parameters = new ThemedMessageBoxParameters(MessageBoxImage.Warning) { };

// OR

var parameters = new ThemedMessageBoxParameters(new BitmapImage(new System.Uri("pack://application:,,,/WarningImage.png"))) { };

ThemedMessageBox.Show(

// ...

messageBoxParameters: parameters
);
}

应用Glyph和GlyphAlignment属性来定义按钮图像并设置按钮内的图像位置。

void Button_Click(object sender, RoutedEventArgs e) {
var buttonApply = new UICommand() {

// ...

Glyph = new System.Uri("pack://application:,,,/DevExpress.Images.v22.2;component/SvgImages/Icon Builder/Actions_Check.svg")

};
var buttonCancel = new UICommand() {

// ...

Glyph = new System.Uri("pack://application:,,,/DevExpress.Images.v22.2;component/SvgImages/Icon Builder/Actions_Delete.svg")
};

自动关闭消息框

你可以合并自动关闭的消息框(在指定的时间范围之后),以便向用户显示简短的通知,这个选项可以帮助向用户传达重要的信息,而不需要额外的操作。

自动关闭的消息框将有助于防止消息框无限期地留在屏幕上,如果用户进行了与设置相关的更改,并且系统需要确认是否应该应用更改,则这可能很有价值。

例如,自动关闭的消息框可以提醒用户有关新设置或通知他们可以应用更改。在这种情况下,用户将收到状态反馈,而不需要采取额外的操作。

实现

要显示消息框并自动关闭它,可以设置ThemedMessageBox自动单击其默认按钮所使用的时间框架。要设置这个时间范围,在ThemedMessageBoxParameters对象中指定TimerTimeout和TimerFormat属性。

下面的代码示例在ThemedMessageBox显示在屏幕上5秒后单击Cancel按钮:

void Button_Click(object sender, RoutedEventArgs e) {
var parameters = new ThemedMessageBoxParameters(MessageBoxImage.Information) {
TimerTimeout = new System.TimeSpan(0, 0, 5),
TimerFormat = "{0} ({1:%s} sec.)"
};

ThemedMessageBox.Show(
title: "Information",
text: "Apply new settings?",
messageBoxButtons: MessageBoxButton.OKCancel,
defaultButton: MessageBoxResult.Cancel,
messageBoxParameters: parameters
);
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OJ练习第103题——最大矩形

最大矩形 力扣链接:85. 最大矩形 题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”…

数据库管理-第七十四期 我的Oracle ACE之路(20230511)

数据库管理 2023-05-11 第七十四期 我的Oracle ACE之路1 差点错过2 ACE Associate3 一路走来总结 第七十四期 我的Oracle ACE之路 “终于等到你,还好我没放弃”。经过了整整4个月20天的等待,我终于收到了Oracle ACE Associate的确认邮件,成为…

『python爬虫』17. 线程池和进程池以及线程池实战(保姆级图文)

目录 1. 线程池和进程池解决的是调度问题2. 线程池3. 线程池实战:爬取西游记的标题总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 1. 线程池和进程池解决的是调度问题 ⽹站的数据太多了&#xff0…

典型随机噪声激励

1.按噪声的起源分类 根据噪声的起源,分为内部噪声和外部噪声。 内部噪声:来源于系统内部的涨落运动或被检测信号,如布朗粒子受到周围液体分子的无规则碰撞即为内部噪声; 外部噪声:来自系统所处外部环境的随机涨落&…

endNote X9 导入英文文献(谷歌学术、web of science 等)

文章目录 1 导入英文文献(谷歌学术、web of science 等)2 EndNote X9 插入参考文献常见问题总结3 EndNote X9 快速上手教程(毕业论文参考文献管理器) 1 导入英文文献(谷歌学术、web of science 等) 谷歌学术…

Vite如何实现秒级依赖预构建的能力

大家都知道, Vite是一个提倡 no-bundle 的构建工具,相比于传统的 Webpack,能做到开发时的模块按需编译,而不用先打包完再加载。这一点我们在快速上手这一节已经具体地分析过了。 需要注意的是,我们所说的模块代码其实分为两部分,一部分是源代码,也就是业务代码,另一部…

线性代数——特征值与特征向量的性质

(1)设A为方阵,则A与 A T A^{T} AT有相同的特征值。 此处用到了两个关键性质,一:单位阵的转置为其本身,二:转置并不改变行列式的值。 (2): 设n阶方阵A( a i j…

汽车电子的电磁兼容性分析

随着电子技术的不断发展,新技术越来越多的应用到汽车领域,因此各个电子装置和电子控制系统必须相互适应,这就是电磁兼容性(EMC)要求。为了保证汽车可靠性,设计师必须在早期设计阶段分析电磁兼容性问题。目前市场上推出了一些电磁兼…

jdk20-虚拟线程简单了解

普通线程 JDK中的普通线程和操作系统线程是一对一关系的,存在映射关系;由操作系统进行调度,线程过多,会引起操作系统频繁调度,导致线程上下文切换太过频繁,反而会降低系统性能;线程越多&#x…

即时通讯私有化部署有哪些优势?企业在选择时需要考虑哪些因素?

即时通讯私有化部署是一种将即时通讯系统部署在企业的私有服务器上,以保护企业的信息安全和隐私。相比于使用Saas部署即时通讯应用程序,私有化部署可以更好地保护企业的机密信息,避免信息泄露的风险。 在即时通讯私有化部署中,企业…

半导体热处理设备微环境中的精密微正压控制解决方案

摘要:针对半导体热处理设备微环境中的微正压精密控制,本文分析了现有技术造成微正压控制不稳定的原因,提出了相应的解决方案。解决方案主要是采用绝对电容真空计替代压差计,采用真空低漏率的高速电动针阀和电动球阀替代气体质量流…

【Python 正则表达式】零基础也能精通的正则表达式学习路线与参考资料

文章目录 一、正则表达式基础二、进阶知识三、优秀实践参考资料: 一、正则表达式基础 正则表达式是一种用来描述字符模式的语言,它可以用来匹配、查找、替换字符串中的文本。在Python中,我们可以使用re模块来操作正则表达式。 正则表达式基…

MATLAB三维曲面作图(三)特殊效果的绘图(灯光)

首先,我们来绘制一个海螺的复杂图形 close all t linspace(0,2*pi,512); [u v] meshgrid(t); a -0.4; b 0.5; c 0.1; n 3; x (a*(1-v/(2*pi)).*(1cos(u))c).*cos(n*v); y (a*(1-v/(2*pi)).*(1cos(u))c).*sin(n*v); z b*v/(2*pi)a*(1-v/(2*pi)).*sin(u); s…

RabbitMQ详解(五):过期时间TTL、死信队列、磁盘监控

过期时间TTL(Time To Live) 过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。 目前有两种方法可以设置 第一种方法是通过队列属性设置,队列中所有消息都有…

App报毒-Google Play保护机制,已屏蔽不安全的应用

一、概述 解决安卓app在海外国际版本如:华为、OPP/VIVO、小米和荣耀报毒问题.触发Google Play保护机制. 安卓app报毒爆红,vivo手机爆红,oppo小米华为荣耀手机报毒,手机安装app时提示报毒,有的app是刚打包出来、有的是用…

Cocos Creator 3.7.3 正式上线,渲染管线和算法持续更新

Cocos Creator 3.7.3 正式发布。该版本对近日用户反馈的一系列关键性问题进行了集中修复,也对一部分性能进行了优化,提升了用户体验,建议所有 v3.x 用户升级。 Engine Features Render Graph 自定义渲染管线支持 GLES 后端Deprecate addRast…

【C++】五一假期,我学会了C++类和对象 ( 看完这篇你也能学会 ~ )

文章目录 ☑️前言✅类和对象【🏆上篇🏆】一. 面向过程和面向对象初步认识二. 与类的完美邂逅❤️1. 类的引入2. 类的定义 三. 增进与类的距离❤️1. 类的访问限定符及封装1.1. 访问限定符1.2. 封装【⭐重大思想⭐】 2. 类的作用域3. 类的实例化 四. 类对…

专访惠众科技|元宇宙应用如何借助3DCAT实时云渲染实现流畅大并发呈现?

当前互联网流量红利已经逐渐消失,营销同质化愈发严重。在这样的背景下,催生了以为元宇宙 焦点的虚拟产业经济。元宇宙在各行各业中以不同形式快速萌生、成长,呈现出多元化的应用场景。尤其是众多品牌,将元宇宙视为品牌建设与营销新…

JavaScript - 进阶+高级(笔记)

前言 给孩子点点关注吧!😭 本篇文章主要记录以下几部分: 进阶: 作用域;函数进阶(函数提升、函数参数、箭头函数);解构赋值;对象进阶(构造函数、实例成员、静…

算法记录 | Day57 动态规划

647.回文子串 思路: 1.确定dp数组(dp table)以及下标的含义: 布尔类型的dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否…