提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2022-11-23 10:11:45.177|阅读 171 次
概述:本文将为大家介绍如何使用DevExpress WinForm组件实现基于HTML&CSS的桌面UI,欢迎下载最新版体验~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
注意:目前基于HTML & CSS的控件正在积极研发中,可以作为技术预览提供,如果需要使用请下载最新版组件体验哦~
一组控件和组件允许开发人员构建HTML格式的UI,并使用CSS样式自定义UI元素的外观设置、大小、填充和布局选项,不再需要处理自定义绘制事件或更改大量属性来修改控件以匹配UI规范,可以使用HTML和CSS标记的知识为桌面应用程序构建布局。
主要功能包括:
支持HTML和CSS的控件和组件从模板呈现它们的UI,控件模板的HTML标记指定控件的内容(UI元素),而模板的CSS代码指定应用于UI元素的样式、显示和布局设置。
使用控件的HtmlTemplate属性来指定模板,在设计时,开发人员可以在HTML Template Editor(HTML模板编辑器)中创建模板。
该编辑器支持语法高亮显示、智能感知(一种代码完成辅助工具)和预览面板,预览面板允许开发人员检查可视元素——将鼠标悬停在元素上时定位的HTML标记。
下面的示例演示了一个HtmlContentControl从指定的HTML-CSS模板呈现一个UI,该控件被绑定到Employee对象的列表。模板的HTML代码包含数据绑定表达式,用于显示来自数据源的值。
C#
public class Employee { public string DisplayName { get; set; } public string FullName { get; set; } public SvgImage Photo { get; set; } } //... Employee emp = new Employee(); emp.DisplayName = "Leah Test Coordinator"; emp.FullName = "Leah Simpson"; SvgImageCollection imageCollection = new SvgImageCollection(); imageCollection.Add("photo", "image://svgimages/icon builder/business_businesswoman.svg"); emp.Photo = imageCollection["photo"]; List<Employee> list = new List<Employee>(); list.Add(emp); htmlContentControl1.DataContext = list; //... void OnButtonClick(object sender, DxHtmlElementMouseEventArgs args) { if(args.ElementId == "uploadBtn") { //... } if (args.ElementId == "removeBtn") { //... } XtraMessageBox.Show("Button " + args.ElementId + " clicked"); }
VB.NET
Public Class Employee Public Property DisplayName() As String Public Property FullName() As String Public Property Photo() As SvgImage End Class '... Dim emp As Employee = New Employee() emp.DisplayName = "Leah Test Coordinator" emp.FullName = "Leah Simpson" Dim imageCollection As SvgImageCollection = New SvgImageCollection() imageCollection.Add("photo", "image://svgimages/icon builder/business_businesswoman.svg") emp.Photo = imageCollection("photo") Dim list As New List(Of Employee)() list.Add(emp) htmlContentControl1.DataContext = list '... Private Sub OnButtonClick(ByVal sender As Object, ByVal args As DxHtmlElementMouseEventArgs) If args.ElementId = "uploadBtn" Then '... End If If args.ElementId = "removeBtn" Then '... End If XtraMessageBox.Show("Button " & args.ElementId & " clicked") End Sub
HTML
<div class="container" id="container"> <div class="avatarContainer"> <img src="${Photo}" class="avatar"> <div id="uploadBtn" onclick="OnButtonClick" class="centered button">Upload</div> <div id="removeBtn" onclick="OnButtonClick" class="centered button">Remove</div> </div> <div class="separator"></div> <div class="avatarContainer "> <div class="field-container"> <div class="field-header"> <b>Display name</b><b class="hint">Visible to other members</b> </div> <p>${DisplayName}</p> </div> <div class="field-container with-left-margin"> <div class="field-header"> <b>Full name</b><b class="hint">Not visible to other members</b> </div> <p>${FullName}</p> </div> </div> </div>
CSS
.container{ background-color:@Window; display:flex; flex-direction: column; justify-content: space-between; border-radius: 20px; padding: 0px 30px 16px 30px; border-style:solid; border-width:1px; border-color:@HideSelection; color: @ControlText; } .avatarContainer{ display: flex; margin-top:16px; margin-bottom:16px; } .avatar{ width: 100px; height: 100px; border-radius:100px; border-style: solid; border-width: 1px; border-color: @HideSelection; } .field-container{ display:flex; flex-direction:column; justify-content: space-between; flex-grow:1; flex-basis: 150px; padding-left:10px; padding-right:10px; } .with-left-margin{ margin-left:10px; } .field-header{ display:flex; justify-content: space-between; } .button{ display: inline-block; padding: 10px; margin-left: 10px; color: gray; background-color: @Window; border-width: 1px; border-style: solid; border-color: @HideSelection; border-radius: 5px; text-align: center; align-self:center; width: 70px; } .hint{ color: @DisabledText; font-size:7.5pt; } .button:hover { background-color: @DisabledText; color: @White; border-color: @DisabledControl; } .separator{ width:100%; height:1px; background-color:@HideSelection; }
DevExpress技术交流群6:600715373 欢迎一起进群讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都网Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
在处理电子表格时,尤其是在专业和数据导向型环境中,正确设置 Excel 单元格内的数字格式至关重要。本文将介绍如何使用 Spire.XLS for Java 设置 Excel 单元格的数字格式,帮助轻松创建精美且结构清晰的电子表格。
行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress WinForms Subscription为Windows Forms平台创建具有影响力的业务解决方案,高性价比WinForms界面控件套包。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢