界面组件DevExpress WinForms v22.2 - 升级对HTML CSS的支持

news2024/10/2 14:34:04

DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

DevExpress WinForm 已正式发布了重大版本v22.2,此版本全面升级了对HTML & CSS的支持、增强了仪表板功能等,欢迎下载最新版控件体验!

DevExpress WinForm v22.2官方正式版下载(Q技术交流:674691612)

仪表板
支持DirectX

DevExpress WinForms Gauges(仪表板)控件现在在放置DirectX表单中时使用DirectX引擎渲染。

支持HTML & CSS
消息框和对话框的HTML & CSS模板

WinForms消息框和对话框组件现在支持HTML和CSS模板。

用于工具提示的HTML & CSS模板

新版本的WinForms ToolTips现在支持HTML & CSS模板。

Accordion - 支持HTML & CSS模板

WinForms Accordion控件现在支持业界首创的WinForms HTML & CSS模板引擎,HTML & CSS模板允许开发者在最短的时间内创建完全自定义的用户界面,新的API几乎可以为每个Accordion UI元素生成模板。

技术团队创建了一个新的演示,展示如何将WinForms Accordion控件转换为漂亮的Hamburger菜单。

HTML选择

用户现在可以选择HTML模板显示的文本,HTML选择在HTML内容控件和WinForms Data Grid(数据网格)的ItemsView、TileView和WinExplorerView中提供,使用AllowContentSelection属性来启用这个功能。

新版本添加了一个新的SelectedText属性来存储选定区域的文本内容(包括文本、按钮说明、图像和其他HTML元素)。

SelectedTextChanged事件在选择发生变化时发生,并允许开发者根据需要查看和更改所选文本。

自定义绘制HTML

开发者现在可以在Custom Draw事件处理程序中绘制HTML模板,事件参数包括e.DrawHtml方法,大多数DevExpress WinForm UI控件都引入了这种增强。

HTML

<div class="container">
<div class="cpu-name">${ProcName}</div>
<div>
<div class="label">${ProcBaseFrequency}</div>
<div class="label">${RamMemorySize}</div>
<div class="label">${VidTrademark} {VidMemorySize}</div>
</div>
<div class="price">${ModelPrice}</div>
<div id="btn-add" class="btn-add" dx-class="{Added:added}">${AddButtonCaption}</div>
</div>

CSS

.container {
text-align:center;
padding-top:18px;
}
.cpu-name {
font-size:14px;
font-weight:bold;
}
.label {
display:inline-block;
background-color:@DisabledText/0.3;
padding:4px;
border-radius:4px;
}
.price {
margin-top:6px;
margin-bottom:6px;
font-size:18px;
}
.btn-add {
display:inline-block;
background-color:@HighlightAlternate;
color:@White;
padding:8px;
border-radius:18px;
font-weight:bold;
cursor:pointer;
}
.added{
background-color:@Green;
}

C#

void OnCustomDrawRecordHeader(object sender, Events.CustomDrawRecordHeaderEventArgs e) {
// ...
e.DrawHtml(headerTemplate, htmlCtx, (args) => {
args.InteractivityKey = dataSourceRowIndex;
bool isAddedToCart = orders.Contains(dataSourceRowIndex);
args.SetFieldValue("Added", isAddedToCart);
args.SetFieldValue("AddButtonCaption", isAddedToCart ? "ADDED TO CART" : "ADD TO CART");
});
}
可视化数据收集

新的<dx-collection>标记为集合中的每个元素呈现一个模板。

HTML

<template id="member-template">
<div class="initials">${Initials}</div>
</template>
...
<dx-collection class="members" Items="${Members}" ItemTemplate="member-template"></dx-collection>
Html模板集合

技术团队创建了一个新的 HtmlTemplateCollection 组件——一个外部模板存储,添加到此集合的HTML和CSS模板可以被不同的UI控件使用。

CSS样式选择器

开发者现在可以有条件地直接在HTML标记中应用样式,使用HTML标记比在后面的代码中处理事件更容易、更快。

使用新的dx-class属性来指定CSS选择条件。

新版本支持以下语法选项:

HTML

<!-- Boolean data field -->
<div dx-class="{IsUrgent: urgent, normal}">
<!-- Applies the 'active' class if the IsActive property is set to true. -->
<img dx-class="{IsActive: active}" />

<!-- Hides the element if the IsVisible property is set to true. -->
<img dx-class="{IsVisible: , hidden}" />
</div>

<!--
Enumeration data field.
The 'red' class corresponds to the first element.
The 'green' class corresponds to the second element, and so on.
-->
<div dx-class="{Color: red, green, blue}">
...
</div>

<!--
Enumeration data field.
Class names should exactly match enumeration values.
-->
<div dx-class="{State}">
...
</div>

<!-- A string data field that matches the class name -->
<div dx-class="{ClassName}">
...
</div>

您可以在一个条件中应用多个类,当然也可以同时使用静态类和多条件类。

HTML

<div class="task" dx-class="{IsUrgent: urgent highlight, normal}">
...
</div>
着色SVG - 'Fill' CSS属性支持

<img>标记现在支持填充属性,使用此属性可为SVG图像设置颜色,此设置覆盖了表示属性<path fill="#fff"…/>和内联样式(例如,<path style="fill: #fff;"...= " " / >)。

CSS

img {
fill: Gray;
}
img:hover {
fill: Green;
}
img:active {
fill: LightGreen;
}

HTML

<img src="my-svg-image" />

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

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

相关文章

3.Elasticsearch初步进阶

3.Elasticsearch初步进阶[toc]1.文档批量操作批量获取文档数据批量获取文档数据是通过_mget的API来实现的在URL中不指定index和type请求方式:GET请求地址:_mget功能说明:可以通过ID批量获取不同index和type的数据请求参数docs:文档数组参数_index:指定index_type:指定type_id:指…

分析vmlinux,uImage,zImage,Image的生成以及之间的关系

1.在内核源码顶层目录下打开Makefile&#xff0c;搜索vmlinux&#xff0c;找到以下内容&#xff1a;可知主要靠$(vmlinux-deps)生成。继续搜索查看变量vmlinux-deps的值&#xff0c;找到&#xff1a;KBUILD_LDS为链接文件&#xff0c;剩下两个变量如下&#xff1a;搜索head-y未…

网吧电脑怎么录屏?分享3种便捷方法,一键录屏

​网吧作为一个公共场所&#xff0c;为用户提供了方便快捷的上网服务。然而&#xff0c;在使用网吧电脑的过程中&#xff0c;有时候我们会需要录制屏幕内容&#xff0c;比如游戏的精彩瞬间&#xff0c;教学演示视频等。那么&#xff0c;网吧电脑怎么录屏呢&#xff1f;本文将为…

Linux应用学习——多进程

进程 当一个进程正常终止时可以通过int atexit(void(*function)(void))注册进程终止处理函数 PART1——进程相关概念 ​ 进程是一个动态的过程&#xff0c;而非一个静态的文件&#xff0c;是程序的一次运行过程&#xff0c;当应用程序被加载到内存中运行之后才能称为一个进程…

【LeetCode——排序链表】

文章目录排序链表二、解题思路&#xff1a;二.实现的代码总结&#xff1a;排序链表 一道链表排序题&#xff0c;链接在这里 二、解题思路&#xff1a; 解题思路&#xff1a;使用归并排序&#xff08;用递归实现&#xff09; 第一步&#xff1a;先找到链表的中间节点 第二步…

百分之九十的人不知道的退税秘诀

为什么会有退税和补税&#xff1f; 公司在帮我们进行个人所得税申报的时候&#xff0c;个人所得税是按月或者按季度预扣预缴的&#xff0c;税款会在每个月或季度的收入中扣除一定的比例。在年度个人所得税汇缴清算的时候&#xff0c;如果实际年度收入与预扣预缴的税款不符&…

【Spring 深入学习】配置DI 以及IOC的多种方式

配置DI 以及IOC的多种方式 1. 概述 防止将来遗忘&#xff0c;记录下DI等配置方式。从xml 配置文件 以及注解的方式来配置下DI 2. XML 方式 2.1 通过bean 依赖注入 xml 配置 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http:/…

Zeek安装、使用与压力测试

Zeek安装与压力测试Zeek安装、简单使用与压力测试环境Zeek安装zeek简单运行安装PF_RING修改Zeek配置文件&#xff0c;使用PF_RING&#xff0c;实现集群流量压力测试查看zeek日志Zeek安装、简单使用与压力测试 科研需要&#xff0c;涉及到Zeek的安装、使用和重放流量压力测试评…

【牛客刷题专栏】0x0F:JZ7 重建二叉树(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转)&#xff0c;它登陆后会保存刷题记录进度&#xff0c;重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏&#xff1a;个人CSDN牛客刷题专栏。 题目来自&#xff1a;牛客/题库 / 在线编程 / 剑指offer&#xff1a; 目录前言问题…

VKL060 SSOP24超低功耗/抗干扰15*4 LCD液晶段码驱动IC,适用于传感器/数字压力表

产品型号&#xff1a;VKL060产品品牌&#xff1a;永嘉微电/VINKA封装形式&#xff1a;SSOP24产品年份&#xff1a;新年份原厂&#xff0c;工程服务&#xff0c;技术支持&#xff01;VKL060概述:VKL060是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大60点&#xff08;15…

【ROS学习笔记13】ROS中的TF坐标变换

【ROS学习笔记13】ROS中的TF坐标变换 文章目录【ROS学习笔记13】ROS中的TF坐标变换前言1. 静态坐标变换2. 动态坐标变换3. 多坐标变换4. 坐标系关系查看5. TF坐标变换实操Reference写在前面&#xff0c;本系列笔记参考的是AutoLabor的教程&#xff0c;具体项目地址在 这里 前言…

sqli-labs靶场实战

sqli-labs靶场实战 &#xff08;手工&#xff09;SQL注入基本步骤&#xff1a; 第一步&#xff1a;注入点测试 第二步&#xff1a;查询字段数 第三步&#xff1a;判断回显位 第四步&#xff1a;查询数据库的基本信息 第五步&#xff1a;爆数据库名 第六步&#xff1a;爆数据库…

ROS云课使用CoCubeSim案例

源码压缩包&#xff1a;https://gitcode.net/ZhangRelay/cocubesim打开蓝桥ROS云课&#xff1a;下载cocubesim压缩包&#xff1a;https://gitcode.net/ZhangRelay/cocubesim.git注意文件路径&#xff0c;home文件夹下的code文件夹里面。解压缩&#xff1a;tar -xf cocubesim/co…

黑马Linux笔记03【su、sudo、groupadd、useradd、usermod、userdel、getent、chmod、chown】

资源 视频地址&#xff1a;黑马-新版Linux快速入门到精通资源下载&#xff1a;https://pan.baidu.com/s/1zExrsk09QVm3mpqaPTqe_g?pwd6666&#xff0c;提取码&#xff1a;6666笔记 黑马Linux笔记01【安装VMware Workstation、安装CentOS7、远程连接Linux系统、Win10配置WSL(Ub…

机器学习算法: Logistic 回归 详解

动动发财的小手&#xff0c;点个赞吧&#xff01; 1. 导读 逻辑回归是在因变量为二元时进行的回归分析。它用于描述数据并解释一个因二元变量与一个或多个名义、有序、区间或比率水平变量之间的关系。二元或二项式 Logistic 回归可以理解为处理其中因变量的观察结果只能是二元的…

Mac电脑,python+appium+安卓模拟器使用步骤

1、第一步&#xff0c;环境搭建&#xff0c;参考这位博主的文章&#xff0c;很齐全 https://blog.csdn.net/qq_44757414/article/details/128142859 我在最后一步安装appium-doctor的时候&#xff0c;提示权限不足&#xff0c;换成sudo appium-doctor即可 2、第二步&#xff0…

Discuz X3.1 QQ互联登陆报错解决方法

安装X3.1后QQ互联登陆出现(1054) Unknown column conuintoken in field list&#xff0c;具体截图如下&#xff1a; 原因是用QQ登陆的时候是把你的账号信息写入数据表common_member_connect中的&#xff0c;而这个语句中有conuintoken 这个字段&#xff0c;但数据表common_mem…

【Java基础】10分钟看懂Java NIO

一、IO概述IO的操作方式通常分为几种:同步阻塞BIO、同步非阻塞NIO、异步非阳塞AIO1、在JDK1.4之前&#xff0c;我们建立网络连接的时候采用的是 BIO 模式。2、Java NIO(New IO或Non Blocking IO) 是从Java 1.4版本开始引入的一个新的IOAPI&#xff0c;可以替代标准的Java IO AP…

跨域问题解决方案

目录 1.同源策略 2.解决方案(后端) (1)在后端方法添加CrossOrigin (2)添加CORS过滤器 (3)实现WebMvcConfigure接口&#xff0c;重写addCorsMappings方法 3.解决方案(前端) (1)前端配置代理 1.同源策略 同源策略&#xff08;Same origin policy&#xff09;是一种约定&am…