wpf修改theme中的样式_界面开发套包WPF Controls:如何通过ThemeManager自定义主题

Actipro WPF Controls提供了一种新功能,允许应用程序根据Windows设置自动切换Light、Dark和High Contrast主题。ThemeManager的新方法RegisterAutomaticThemes使得动态匹配用户界面体验变得简单,只需一行代码即可实现。此功能将在即将到来的v2020.1版本中推出。
摘要由CSDN通过智能技术生成

Actipro WPF Controls是一套专业的,效果十分酷炫的WPF用户界面控件套包,该控件包含了Actipro公司所有WPF控件,包含了:BarCode、Navigation、Wizard、Docking & MDI、PropertyGrid、Shared Library、 Gauge、Ribbon、DataGrid、Editors、SyntaxEditor、Views。比起单独购买每个子控件来说为您节约了将近60%的花销,还可以获得一年的免费升级。

Actipro WPF控件v2020.1的开发正在进行中,新版本的主要目的是使我们的UI控件功能/主题更为现代化,并使主题自定义更加容易。

在上一篇文章中,我们展示了Theme Designer应用程序如何显示示例UI选项卡,使您可以立即查看对主题定义的更改如何影响各种UI控件的呈现。

在今天的帖子中,我们将介绍ThemeManager的一项新功能,该功能使应用程序可以基于Windows设置为亮/暗以及高对比度模式自动更改主题。

主题架构

作为快速回顾,Actipro ThemeManager支持动态交换ResourceDictionaries,其中包含可在WPF样式/模板中使用的控件样式和资产资源(如画笔,粗化度等)。如以前的博客文章所述,在v2020.1中您可以设计和轻松地使用ThemeManager注册自定义主题。

通常,您可以通过将ThemeManager.CurrentTheme属性设置为预定义主题或者您可以设置已注册的自定义主题的名称。

这都是可以的。现在,如果我们想让我们的应用主题与当前Windows应用的颜色和高对比度的设置匹配,该怎么办?

Windows设置

“Windows Settings’ Personalization”部分的“ Colors ”选项卡允许最终用户选择应用程序颜色是浅色还是深色。某些最终用户可能还会从Windows设置中激活高对比度模式。

对于应用程序而言,监听这些最终用户设置以确保一致的用户体验是理想的选择。v2020.1的ThemeManager中的新功能使您能够遵守这些设置并在适当时自动切换主题,所有这些只需一行代码。

可以在应用程序的OnStartup逻辑中调用新的ThemeManager.RegisterAutomaticThemes方法,以代替设置ThemeManager.CurrentTheme属性。使用此方法可以指定浅色主题,深色主题和高对比度主题的名称。

以下是一些示例代码,它们使用了我们预定义的“浅”,“暗”和“高对比度”主题:

ThemeManager.RegisterAutomaticThemes(ThemeNames.Light, ThemeNames.Dark, ThemeNames.HighContrast);

现在,当最终用户通过Windows设置指示应用程序应为深色主题时,该应用程序(在此示例中为示例浏览器)如下所示:

黑色主题

当最终用户通过Windows设置指示应用程序应使用浅色主题时,该应用程序如下所示:

浅色主题

最后,通过Windows设置激活高对比度模式,该应用程序如下所示:

高对比度主题

您可以使用任何已注册的主题名称来调用RegisterAutomaticThemes。如果您使用我们的主题设计器应用程序来构建自己的自定义明暗主题,并已将它们注册到ThemeManager中,则只需将这些主题的名称传递给RegisterAutomaticThemes,ThemeManager将根据最终用户的Windows设置提取正确的主题。

使用RegisterAutomaticThemes时,ThemeManager会主动监视Windows设置的更改,并在运行时根据新设置酌情切换主题。

小结

这个方便的设置解决了在应用程序使用中匹配最终用户偏好的问题。在即将推出的最新版本2020.1中将提供此功能。

目前正在进行v2020.1的最终Beta测试,并有希望在下一两周内发布它。

在下面的评论中留下你对即将发布的WPF主题功能任何问题或评论吧。

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

0

好文不易,鼓励一下吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值