彩票走势图

界面开发套包WPF Controls:如何通过ThemeManager自定义主题

翻译|使用教程|编辑:鲍佳佳|2020-09-17 14:35:14.557|阅读 569 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

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

点击下载Actipro WPF Controls最新版

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主题功能任何问题或评论吧。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP