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 ...
最新文章
- SPOJ375(树链剖分)
- OpenStack Ocata Release Notes
- ashx误删后,未能创建类型
- Cocos2d-x 寻路算法解析(二): 离目的地的距离优先
- redis基本类型以及优点特性
- jenkins 新手入门安装失败_树莓派安装jenkins,安安静静做个持续集成打包机
- Golang实践录:命令行cobra库实例
- 性能计数器驱动_Linux CPU性能优化方法
- paip.提升性能---首页性能加快解决方案
- 股票交易数据下载 | 下载股票历史交易数据到本地Excel
- html5视频播放器 二 (功能实现及播放优化)
- 082-我最爱的周杰伦九张专辑
- 字符串的交叉合并c语言,C语言 两字符串的合并
- 【观察】让数字化转型之路越走越宽,DXC Technology释放新价值
- 解密「UWB」精准定位黑科技
- 想要学习Java,没有英语基础可以学吗?
- 【新闻解读2019年】四分类不能准确区分所有垃圾 市民建议用更直白的名称
- 【回归预测-lssvm】基于粒子群算法优化最小二乘支持向量机lssvm实现数据回归预测附matlab代码
- java comparator相等_菜鸡的Java笔记 comparator 比较器
- SWEBOK软件工程知识体系 - 13.计算基础
热门文章
- macbook卡在进度条开不了机_解决MacBook Pro开机卡死在进度条无反应,进不去桌面...
- 菜鸟日记(yzy) 微信公众号网页的开发基础(微信接口调用)
- 流利阅读 2019.1.22 Theresa May loses big over her Brexit deal
- 前端-css美化网页元素(一)字体样式,文本样式
- Python求向量的余弦值
- 如何申请注册在国内可以登录使用国外邮箱?
- 硅谷高效工作法 -知乎大学
- 苹果电脑装Windows7系统U盘启动盘制作教程
- 订单管理_02修改订单信息流程
- DVWA--SQL Injection(SQL注入-非盲注)(全难度)