翻譯|使用教程|編輯:鮑佳佳|2020-09-17 14:35:14.557|閱讀 673 次
概述:在今天的文章中我們將介紹ThemeManager的一項新功能,該功能使應(yīng)用程序可以基于Windows設(shè)置為亮/暗以及高對比度模式自動更改主題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Actipro WPF Controls是一套專業(yè)的,效果十分酷炫的WPF用戶界面控件套包,該控件包含了Actipro公司所有WPF控件,包含了:BarCode、Navigation、Wizard、Docking & MDI、PropertyGrid、Shared Library、 Gauge、Ribbon、DataGrid、Editors、SyntaxEditor、Views。比起單獨購買每個子控件來說為您節(jié)約了將近60%的花銷,還可以獲得一年的免費升級。
Actipro WPF控件v2020.1的開發(fā)正在進(jìn)行中,新版本的主要目的是使我們的UI控件功能/主題更為現(xiàn)代化,并使主題自定義更加容易。
在上一篇文章中,我們展示了Theme Designer應(yīng)用程序如何顯示示例UI選項卡,使您可以立即查看對主題定義的更改如何影響各種UI控件的呈現(xiàn)。
在今天的帖子中,我們將介紹ThemeManager的一項新功能,該功能使應(yīng)用程序可以基于Windows設(shè)置為亮/暗以及高對比度模式自動更改主題。
主題架構(gòu)作為快速回顧,Actipro ThemeManager支持動態(tài)交換ResourceDictionaries,其中包含可在WPF樣式/模板中使用的控件樣式和資產(chǎn)資源(如畫筆,粗化度等)。如以前的博客文章所述,在v2020.1中您可以設(shè)計和輕松地使用ThemeManager注冊自定義主題。
通常,您可以通過將ThemeManager.CurrentTheme屬性設(shè)置為預(yù)定義主題或者您可以設(shè)置已注冊的自定義主題的名稱。
這都是可以的。現(xiàn)在,如果我們想讓我們的應(yīng)用主題與當(dāng)前Windows應(yīng)用的顏色和高對比度的設(shè)置匹配,該怎么辦?
Windows設(shè)置“Windows Settings’ Personalization”部分的“ Colors ”選項卡允許最終用戶選擇應(yīng)用程序顏色是淺色還是深色。某些最終用戶可能還會從Windows設(shè)置中激活高對比度模式。
對于應(yīng)用程序而言,監(jiān)聽這些最終用戶設(shè)置以確保一致的用戶體驗是理想的選擇。v2020.1的ThemeManager中的新功能使您能夠遵守這些設(shè)置并在適當(dāng)時自動切換主題,所有這些只需一行代碼。
可以在應(yīng)用程序的OnStartup邏輯中調(diào)用新的ThemeManager.RegisterAutomaticThemes方法,以代替設(shè)置ThemeManager.CurrentTheme屬性。使用此方法可以指定淺色主題,深色主題和高對比度主題的名稱。
以下是一些示例代碼,它們使用了我們預(yù)定義的“淺”,“暗”和“高對比度”主題:
ThemeManager.RegisterAutomaticThemes(ThemeNames.Light, ThemeNames.Dark, ThemeNames.HighContrast);
現(xiàn)在,當(dāng)最終用戶通過Windows設(shè)置指示應(yīng)用程序應(yīng)為深色主題時,該應(yīng)用程序(在此示例中為示例瀏覽器)如下所示:
當(dāng)最終用戶通過Windows設(shè)置指示應(yīng)用程序應(yīng)使用淺色主題時,該應(yīng)用程序如下所示:
淺色主題
最后,通過Windows設(shè)置激活高對比度模式,該應(yīng)用程序如下所示:
高對比度主題
您可以使用任何已注冊的主題名稱來調(diào)用RegisterAutomaticThemes。如果您使用我們的主題設(shè)計器應(yīng)用程序來構(gòu)建自己的自定義明暗主題,并已將它們注冊到ThemeManager中,則只需將這些主題的名稱傳遞給RegisterAutomaticThemes,ThemeManager將根據(jù)最終用戶的Windows設(shè)置提取正確的主題。
使用RegisterAutomaticThemes時,ThemeManager會主動監(jiān)視Windows設(shè)置的更改,并在運行時根據(jù)新設(shè)置酌情切換主題。
這個方便的設(shè)置解決了在應(yīng)用程序使用中匹配最終用戶偏好的問題。在即將推出的最新版本2020.1中將提供此功能。
目前正在進(jìn)行v2020.1的最終Beta測試,并有希望在下一兩周內(nèi)發(fā)布它。
在下面的評論中留下你對即將發(fā)布的WPF主題功能任何問題或評論吧。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: