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

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
工具提示的 HTML 和 CSS 模板
我们的 WinForms 工具提示现在支持 HTML 和 CSS 模板。

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
Accordion - 支持 HTML 和 CSS 模板
WinForms Accordion 控件现在支持我们业界首创的WinForms HTML 和 CSS 模板引擎。HTML 和 CSS 模板允许您在尽可能短的时间内创建完全自定义的用户界面。新的 API 可以为几乎每个 Accordion UI 元素生成模板。

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
我们创建了一个新的演示,演示如何将我们的 WinForms Accordion 控件转换为漂亮的汉堡包菜单。

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
HTML 选择
用户现在可以选择 HTML 模板显示的文本。HTML 选择在我们的 HTML 内容控件和我们的 WinForms 数据网格的 ItemsView、TileView 和 WinExplorerView 中可用。使用AllowContentSelection属性启用此功能。
我们添加了一个新的SelectedText属性来存储选定区域的文本内容(包括文本、按钮标题、图像和其他 HTML 元素)。
SelectedTextChanged事件在选择更改时发生,并允许您根据需要查看和更改选定的文本 。

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
自定义绘制 HTML
您现在可以在 Custom Draw 事件处理程序中绘制 HTML 模板。事件参数包括e.DrawHtml方法。大多数 DevExpress WinForms UI 控件都引入了此增强功能。
HTML
<div>
<div>${ProcName}</div>
<div>
<div>${ProcBaseFrequency}</div>
<div>${RamMemorySize}</div>
<div>${VidTrademark} {VidMemorySize}</div>
</div>
<div>${ModelPrice}</div>
<div id="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");
});
}

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
可视化数据集合
我们新的 <dx-collection>标签为集合中的每个元素呈现一个模板。
HTML
<template id="member-template">
<div>${Initials}</div>
</template>
...
<dx-collection Items="${Members}" ItemTemplate="member-template"></dx-collection>

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
HTML 模板集合
我们创建了一个新的HtmlTemplateCollection组件——一个外部模板存储。添加到此集合的 HTML 和 CSS 模板可由不同的 UI 控件使用。
运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库。
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 dx-class="{IsUrgent: urgent highlight, normal}">
...
</div>

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
Colorize SVG - 'Fill' CSS 属性支持
< img > 标签现在支持fill属性。使用此属性设置 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" />

位置和 Z-index 属性
我们的 HTML 和 CSS 引擎现在支持位置和z-index CSS 属性 - 在模板中管理 HTML 元素布局的宝贵工具。
position属性指定元素在模板中的位置。此属性接受以下值:“静态”、“相对”、“绝对”和“固定”。元素的“top”、“right”、“bottom”和“left”属性决定了它的最终位置。

z-index属性指定定位的 HTML 元素的 z 顺序。使用此属性将层中的元素放置在彼此之上。具有较大 z-index 的重叠元素覆盖具有较小 z-index 的元素。
z-index属性仅适用于“position”属性明确设置为“absolute”、“fixed”或“relative”的元素。

布局容器
堆栈和布局面板 - 皮肤相关的缩进和分隔符
我们添加了一个新的UseSkinIndents选项。启用后,堆栈和表格面板使用当前活动皮肤中的以下设置:
• 面板填充;
• 控制面板单元内的边距;
• 水平和垂直分隔符宽度。
使用面板的Padding和控件的Margin属性来指定自定义缩进。
您还可以创建水平和垂直分隔符以将 UI 控件分组。要将控件分组,请创建一列或一行,并将其Style属性设置为“Separator”。
运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库。
调度器
资源标头 - HTML 和 CSS 支持

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
显示弹出菜单 - 新事件参数
我们向PopupMenuShowingEventArgs类 添加了新参数。此类为PopupMenuShowing事件提供数据。新论点包括:
• Allow - 获取或设置是否启用弹出菜单。允许您根据需要禁用弹出菜单。
• HitInfo - 标识单击的菜单 UI 元素。
• MenuType - 获取弹出菜单类型。
• Point - 获取用于调用弹出菜单的位置。
树列表
使用向右/向左箭头键展开/折叠节点
用户现在可以使用向右和向左箭头键展开/折叠节点。这是具有一列的 WinForms TreeList 控件中的默认行为(在TreeView 模式下)。
预览部分中的蒙皮填充和可配置缩进
我们对 TreeList 外观进行了细微改进,以保持所有 DevExpress“基于网格”的 UI 控件的外观和感觉一致性(向预览部分显示的内容添加了填充)。
我们还添加了一个新的PreviewIndent属性。此属性允许您为预览部分中显示的内容指定左侧水平偏移量。

运行演示
要执行此演示,您必须先安装 DevExpress WinForms 产品库 。
BandPositionChanged 事件
BandPositionChanged事件在波段改变其位置或可见性时触发 :
• 用户拖动带并将其放到不同的位置。
• 用户将乐队隐藏或拖动到自定义表单或从自定义表单中拖动乐队。
• 带可见性已在代码中更改。
辅助功能
我们继续改进整个 WinForms 产品线的辅助功能和 UI 自动化。在 v22.2 中,我们增强了对辅助工具的支持,并支持 WinForms 垂直网格、属性网格和导航栏控件中的 UI 自动化模式。我们还优化了我们的控件,以更好地消耗内存和边界检测。
渝公网安备50010702505508