Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
之前官方正式宣布Alert Control中支持HTML & CSS模板,正如上篇文章中所述,HTML 和 CSS 模板允許您輕松創(chuàng)建自定義/現(xiàn)代通知。在本文中,將分享更多與模板相關(guān)的更新,您可以期待DevExpress的v22.1版本了!
DevExpress Universal Subscription官方最新版免費(fèi)下載試用,歷史版本下載,在線(xiàn)文檔和幫助文件下載-慧都網(wǎng)
在以前的版本中,技術(shù)團(tuán)隊(duì)為WinForms ListBox控件引入了標(biāo)準(zhǔn)模板——一種類(lèi)似于平鋪視圖中可用的設(shè)計(jì)器,使您可以輕松地在 ListBox 項(xiàng)目表面上排列元素。v22.1 中可用的 HTML 和 CSS 模板將這種自定義靈活性提升到一個(gè)全新的水平。
上圖取自技術(shù)團(tuán)隊(duì)更新的HTML Demo Center模塊,使用以下HTML標(biāo)記來(lái)創(chuàng)建此示例UI。
<div class="contact">
<div class="contact-avatar">
<img class="photo" src="${Photo}" />
<div class="status" id="status"></div>
</div>
<div>
<div class="contact-body">
<div class="contact-info">
<div class="name-info">
<div class="name">${FirstName} {LastName}</div>
<img class='info' src='Contact' id="info" />
</div>
<div class="phone">${HomePhone}</div>
</div>
</div>
<div class='selection'></div>
</div>
</div>
ComboBox編輯與 ListBox Edit 模板類(lèi)似,您可以利用 ${FieldName} 語(yǔ)法來(lái)添加數(shù)據(jù)占位符。 在運(yùn)行時(shí),這些占位符將替換為來(lái)自數(shù)據(jù)源的實(shí)際值。 正如您在下面看到的,這使HTML 和 CSS 模板成為構(gòu)建數(shù)據(jù)感知控件布局的完美工具。
此示例 ComboBox Edit UI 的模板如下:
<div class="contact">
<div class="contact-avatar">
<img class="photo" src="${Photo}" />
</div>
<div>
<div class="contact-body">
<div>
<div class="name">${FirstName} {LastName}</div>
<div class="label">${Department}</div>
</div>
</div>
<div class='selection'></div>
</div>
</div>
在 v21.2 發(fā)布周期中引入了對(duì) TileView 的 HTML 和 CSS 模板支持,在官方即將發(fā)布的版本中,您將能夠根據(jù)內(nèi)容大小調(diào)整圖塊。
要啟用此功能,只需將 OptionsHtmlTemplate.ItemAutoHeight 屬性設(shè)置為 true。
上面的圖像是使用以下 HTML 代碼創(chuàng)建的:
<div class="container">
<div class="card">
<div class="stripe" id="stripe"></div>
<div class="content">
<div class="top-block">
<div class="caption"><b>${Name}</b></div>
</div>
<div class="description">${Description}</div>
<div class="bottom-block">
<div class="bottom-block-near">
<div><span style="color:@DisabledText">Due Date: </span>${DueDate}</div>
<div><span style="color:@DisabledText">Employee: </span>${Employee}</div>
</div>
<div class="status">${Status}%</div>
</div>
</div>
</div>
</div>
DevExpress WinForm
DevExpress WinForm擁有180+組件和UI庫(kù),能為Windows Forms平臺(tái)創(chuàng)建具有影響力的業(yè)務(wù)解決方案。DevExpress WinForms能完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序,無(wú)論是Office風(fēng)格的界面,還是分析處理大批量的業(yè)務(wù)數(shù)據(jù),它都能輕松勝任!
evExpress WinForm擁有180+組件和UI庫(kù),能為Windows Forms平臺(tái)創(chuàng)建具有影響力的業(yè)務(wù)解決方案。DevExpress WinForms能完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序,無(wú)論是Office風(fēng)格的界面,還是分析處理大批量的業(yè)務(wù)數(shù)據(jù),它都能輕松勝任!
復(fù)制下面鏈接獲取DevExpress:https://www.evget.com/product/740/download
在官方發(fā)布的下一個(gè)主要更新(v22.2)中,技術(shù)團(tuán)隊(duì)計(jì)劃添加dx-class標(biāo)簽屬性到HTML & CSS模板中,根據(jù)所選屬性的值,該標(biāo)記將對(duì)同一元素應(yīng)用不同的CSS樣式。
這個(gè)標(biāo)簽的常用語(yǔ)法是<div dx-class="{PropertyName: N}">...</div>,其中PropertyName是應(yīng)用所需CSS樣式的屬性的名稱(chēng),N表示可供選擇的樣式列表。
為了幫助解釋這個(gè)新特性的強(qiáng)大功能,讓我們看看如何基于屬性類(lèi)型應(yīng)用語(yǔ)法。
如果您的模板可視化具有Boolean屬性的項(xiàng),可能期望對(duì)這些項(xiàng)設(shè)置不同的樣式(基于特定的業(yè)務(wù)需求/可視化需求)。為了將“true”或“false”狀態(tài)以不同的方式可視化,dx-class屬性語(yǔ)法應(yīng)該如下所示:
<div dx-class="{InStock: styleForTrue, styleForFalse}">...</div>
假設(shè)您為顯示來(lái)自“Employee”類(lèi)的記錄的WinForms Data Grid設(shè)計(jì)了一個(gè)模板。
public class Employee {
public string FirstName { get; set; }
public string LastName { get; set; }
public bool OnLeave { get; set; }
// ...
}
該類(lèi)的標(biāo)記可能如下所示:
HTML
<div class="horz-container">
<div class="name">${FirstName}</div>
<div class="name">${LastName}</div>
<div class="vacation-label">Vacation</div>
</div>
CSS
.vacation-label {
background-color: purple;
color: White;
width: 70px;
height: 20px;
border-radius: 10px;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
font-size: 10px;
font-weight: bold;
}
對(duì)于這個(gè)特殊的例子,希望在當(dāng)前正在“Vacation”(休假)的員工旁邊顯示一個(gè)徽章:
為了解決這個(gè)特殊的需求,需要?jiǎng)?chuàng)建一個(gè)額外的CSS樣式,設(shè)置“visibility=hidden”參數(shù)…
.hidden-element {
visibility: hidden;
}
...并使用dx-class將這種樣式應(yīng)用于與OnLeave屬性相關(guān)的“false”值。
<div class="vacation-label" dx-class="{OnLeave: , hidden-element}">Vacation</div>
這個(gè)特殊的例子揭示了關(guān)于dx-class屬性的兩個(gè)重要事實(shí):
要根據(jù)枚舉類(lèi)型屬性切換CSS樣式,請(qǐng)?jiān)赿x-class…中指定適當(dāng)屬性的名稱(chēng)。
<div class="defaultItemStyle" dx-class="{TaskSeverity}">
<!--...-->
</div>
...并創(chuàng)建與枚舉值匹配的樣式,在上面的例子中,負(fù)責(zé)選擇正確的CSS樣式的屬性是“TaskSeverity”枚舉,它包括以下值:“Minor”,“Moderate”,“Critical”,這意味著你需要?jiǎng)?chuàng)建三種CSS樣式(或者更少,如果你不需要特定值的額外樣式):
.Minor { ... }
.Moderate { ... }
.Critical { ... }
下圖演示了如何在下一個(gè)WinForms項(xiàng)目中利用這種特殊技術(shù):側(cè)邊條紋根據(jù)任務(wù)嚴(yán)重程度改變顏色。
如果您想使用自定義樣式名,在dx-class屬性中顯式指定它們:
<div class="defaultItemStyle" dx-class="{TaskSeverity: style-A, style-B, style-C}">
<!--...-->
</div>
注意,此語(yǔ)法依賴(lài)于枚舉值聲明的順序。因此如果我們的示例“TaskSeverity”枚舉如下…
public enum VehicleType {
Moderate,
Minor,
Critical
}
...模板將以相同的順序應(yīng)用樣式:“style-A”匹配“Moderate”值,“style-B”匹配“Minor”值,“style-C”匹配“Critical”值。
字符串屬性的dx-class語(yǔ)法類(lèi)似于枚舉值:指定目標(biāo)屬性的名稱(chēng),并創(chuàng)建與該屬性的可用值匹配的樣式。
<div class="defaultItemStyle" dx-class="{FirstName}">
<!--...-->
</div>
.Christel { ... }
.Lorenza { ... }
.Erin { ... }
基于字符串的選擇器涵蓋了所有不能使用基于布爾或基于枚舉的選擇器解決的情況。例如,下圖演示了一個(gè)基于模板的學(xué)生考試結(jié)果列表。
public class TestResults {
public string StudentName { get; set; }
public int Score { get; set; }
}
要應(yīng)用不同的背景顏色,您可以在數(shù)據(jù)記錄類(lèi)中聲明一個(gè)新的String屬性,并使用該屬性作為CSS樣式選擇器。
Code behind (C#)
public class TestResults {
public string StudentName { get; set; }
public int Score { get; set; }
public string ScoreRange { get {
if (Score < 40) return "Rank-Low";
if (Score >=40 && Score < 60) return "Rank-Medium";
return "Rank-High"; }
}
}
HTML
<div class="horz-container" dx-class="{ScoreRange}">
<div class="name">${StudentName}</div>
<div class="name">$Score: {Score}</div>
</div>
CSS
.Rank-Low { background-color: @Critical/0.5 }
.Rank-Medium { background-color: @WarningFill/0.5 }
.Rank-High { background-color: @Success/0.5; }
class和dx-class屬性是相互補(bǔ)充的:第一個(gè)屬性設(shè)置全局樣式,第二個(gè)屬性允許指定樣式選擇邏輯。注意,條件CSS樣式不會(huì)取消全局樣式——兩者同時(shí)是激活的,全局樣式應(yīng)用默認(rèn)設(shè)置,而條件樣式作為第二層應(yīng)用到這個(gè)“預(yù)樣式”元素。
您還可以在dx-class屬性本身中為相同的值建立多個(gè)樣式的鏈接,為此使用空格作為分隔符輸入樣式名,下一個(gè)逗號(hào)字符之前的所有樣式將同時(shí)應(yīng)用。
藍(lán)色科技風(fēng)總結(jié)PPT模板分享】
1、藍(lán)色扁平風(fēng)上半年度工作總結(jié)匯報(bào):https://www.yomoer.cn/template/detail/7615.html
2、藍(lán)色科技風(fēng)項(xiàng)目計(jì)劃總結(jié)匯報(bào):https://www.yomoer.cn/template/detail/7650.html
3、藍(lán)色黨政公安警察PPT模板:https://www.yomoer.cn/template/detail/6948.html
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。