WPF界面工具Telerik UI for WPF入门级教程 - 设置一个主题(二)
Telerik UI for WPF R3 2021 SP1最新版
如何获取合并所需的 .xaml 文件
您可以在两个地方找到所有需要的 .xaml 文件,分别可以使用两种方法在项目中引用它们。
Reference theme dll
主题的所有样式和模板都封装在位于/Binaries.NoXaml/ folder (Telerik.Windows.Themes.Material.dll, Telerik.Windows.Themes.Office2016.dll等)中的主题dll中,要获取特定主题的样式,您可以直接从主题程序集中合并其 ResourceDictionaries。例如,如果您使用 Office_Black 主题,则应添加对 Telerik.Windows.Themes.Office_Black.dll 的引用,然后合并所需的 .xaml 文件,如示例 1 所示。
注意:我们推荐这种方法,因为升级和维护更容易。 如果您有高度自定义的控件或者您只使用几个控件并且不想包含具有所有样式的 dll,则另一个(复制 XAML 文件)会更好。
将XAML文件复制到应用程序的专用文件夹中
每个主题的默认样式和资源也在/Telerik UI for WPF installation folder/Themes.Implicit文件夹中提供,为了为您的应用程序应用某个主题,您可以从应用程序文件夹中的相应主题文件夹(取决于您使用的控件集)复制所有必需的 XAML 文件,然后合并应用程序的 MergedDictionaries 集合中的 ResourceDictionaries。您应该合并与您的项目中的每个程序集引用相对应的所有 .xaml 文件,如示例 2 和图 1 所示。
图 1:将所需的 XAML 文件复制到应用程序的单独文件夹中
示例 2:应用程序资源中的 MergedDictionaries:
XAML
<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/Themes/System.Windows.xaml"/> <ResourceDictionary Source="/Themes/Telerik.Windows.Controls.xaml"/> <ResourceDictionary Source="/Themes/Telerik.Windows.Controls.Input.xaml"/> <ResourceDictionary Source="/Themes/Telerik.Windows.Controls.GridView.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
提示:如果您为项目引用中缺少的 dll 合并 ResourceDictionary,则会发生错误。
警告:使用隐式样式时,不应使用 StyleManager 设置应用程序主题。
注意:如果您在项目中复制 .xaml 文件,请确保它们的 Build Action 设置为 Page。
使用 StyleManager 设置主题
StyleManager在使用标准 (Xaml) dll 时使用,StyleManager 是一个类,它根据设置的主题在 Telerik 控件上应用不同的样式,它允许您在控件级别和应用程序级别设置主题。
要通过 StyleManager 更改主题,您需要执行以下几个步骤。
1. 参考Telerik UI for WPF dlls的 Xaml 版本,它们可以在/Telerik UI for WPF installation folder/Binaries/文件夹中找到。
2. 在要设置主题的控件上设置 StyleManager.Theme 附加属性,或者在调用视图或App.xaml.cs文件的InitializeComponent方法之前设置StyleManager.ApplicationTheme静态属性,这将为所有 Telerik 控件全局设置主题。
示例 3:在控件级别设置主题
C#
StyleManager.SetTheme(radControlInstance, new Office2016Theme());
VB.NET
StyleManager.SetTheme(radControlInstance, New Office2016Theme())
示例 4:在应用程序级别设置主题
C#
StyleManager.ApplicationTheme = new Office2016Theme(); InitializeComponent();
VB.NET
StyleManager.ApplicationTheme = New Office2016Theme() InitializeComponent()
警告:不支持在使用 StyleManager(混合隐式样式主题和 StyleManager)时合并主题资源字典,仅对 Xaml dll 使用 StyleManager,或仅对 NoXaml 二进制文件使用隐式样式。
注意:不支持通过设置 StyleManager.ApplicationTheme 在运行时切换全局主题,要启用此功能,请使用 NoXaml dll 和隐式样式主题。
更改颜色变化
一些 Telerik 主题支持调色板,其中包含相关主题的资源。 一些调色板具有不同的颜色变化,可以使用 LoadPreset 方法进行更改。
示例 5:更改主题的颜色变化
C#
//default color variation GreenPalette.LoadPreset(GreenPalette.ColorVariation.Dark);
VB.NET
//default color variation GreenPalette.LoadPreset(GreenPalette.ColorVariation.Dark)
主题会影响所有 WPF 控件吗?
所有主题都专门设计用于设计 Telerik 控件,但是一些本机Microsoft WPF控件也受主题机制的影响。
Telerik UI for WPF | 下载试用
Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio工具箱中。
了解最新Kendo UI最新资讯,请关注Telerik中文网!
WPF界面工具Telerik UI for WPF入门级教程 - 设置一个主题(二)相关推荐
- WPF界面工具Telerik UI for WPF入门级教程 - 样式控件
由于提供的主题机制,在使用 NoXAML 二进制文件时自定义 Telerik 控件的外观和样式既简单又直观,要记住的一个重要步骤是始终将自定义样式基于主题的默认样式. 获取Telerik UI for ...
- 界面组件Telerik UI for WPF全新的Windows 11主题,一起来探索
Telerik UI for WPF最新版添加了全新的Windows 11主题,来探索对Windows 11视觉上的演变.其中内置浅色.深色的变化.基于默认操作系统应用程序模式的切换变化.使用操作系统 ...
- WPF界面控件Telerik UI for WPF初级入门教程 - 入门指南
本文主要介绍如何在项目中获取Telerik UI for WPF控件,并开始快速使用它们.启动并运行第一个简单控件后,请查看后续步骤部分,开始更详细地探索控件功能. 点击获取工具下载 使用Teleri ...
- WPF界面控件Telerik UI for WPF新手入门教程 - 如何添加telerik控件
本教程将介绍执行哪些步骤才能在应用程序中添加Telerik UI for WPF控件. 有两种方法可以做到这一点 - 第一种是为 VisualStudio 安装 Progress Telerik WP ...
- Telerik UI for WPF 2023 R1
Telerik UI for WPF 2023 R1 之 WPF 的 Telerik 用户界面,WPF 控件库开发人员信任,快速构建美观.高性能的 WPF 业务应用程序.现在支持 .NET 6 和 7 ...
- 界面控件Telerik UI for WinForms入门教程 - Telerik Upgrade API Analyzer
针对Telerik UI for WinForms的每个版本,技术团队都尽量避免引入影响公共 API 的更改.但是有时需要进行此类更改才能使产品发展,这可能会导致应用程序升级到最新的 Telerik ...
- 界面组件Telerik UI for WinForms R1 2023——全新的Windows 11主题
Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件.所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌 ...
- Telerik UI 2022.R1.SP1
零售版: Kendo UI® for jQuery 2022.1.301 Telerik® JustMock 2022.1.223.1 Telerik® Report Server 8.0.22.22 ...
- 数据库、数据库管理系统、SQL和图形界面工具的关系
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
- 准备.Net转前端开发-WPF界面框架那些事,UI快速实现法
题外话 打开博客园,查看首页左栏的"推荐博客",排名前五的博客分别是(此处非广告):Artech.小坦克.圣殿骑士.腾飞(Jesse).数据之巅.再看看它们博客的最新更新时间:Ar ...
最新文章
- 宏基因组理论教程2扩增子分析
- freebsd+postfix+mysql+authdaemon+sasl2+bind9
- MIna框架I/O Service层设计
- 为什么要关闭 MySQL Query Cache?
- linux find 权限不够,超级用户find: `/home/pipi/.gvfs': 权限不够
- 2003正在锁定计算机,WIN2003 自动锁定怎么解决?
- ❤️万字总结八大排序:冒泡排序,选择排序,插入排序,堆排序,希尔排序,归并排序,计数排序❤️
- java中set怎么建int型_使用Array.setInt来填充Java中的数组
- 零基础适合学python吗-零基础更适合学习Java还是python?
- Anaconda创建、激活、退出、删除虚拟环境
- Android-利用LinearGradient实现文字一闪一闪
- angular6项目中使用echarts图表的方法(有一个坑,引用报错)
- IIS的Server Application Error报错解决方法
- 初学者在VMware上搭建自己的CentOS8
- ps快捷键对应的英文字母缩写
- dell的笔记本电脑如果开机总是黑屏 需要开几次才能点亮屏幕
- 【windows下直接把文件打包成war包】
- undefined reference to symbol ‘dlsym@@GLIBC_2.4‘ 解决
- 基于空间平滑MUSIC算法的相干信号DOA估计(2)
- Openshift概念
热门文章
- 记一次艰苦的刷机历程,nexus7 刷cm12 nightly版,刷入gapps
- 互联网基石:TCP/IP 四层模型,由浅入深直击原理!
- java根据身份证获取出生年月日,性别,年龄
- mutillidae(owasp10)数据库报错
- 实现英文的大小写转换
- pytthon问题 pytcharm Automatic upload failed: could not resolve file “sftp://10.xx.xx.xx 【已解决】
- mybatis plus 生成代码 保存方法主键报错 nested exception is org.apache.ibatis.reflection.ReflectionException: Cou
- nginx配置https启动报错:Expecting: TRUSTED CERTIFICATE)
- eval函数介绍与用法
- html浏览器安全调色板,网页安全色调色盘