当前位置: 首页 > news >正文

How To: Localize Bar and Ribbon Skin Items

您可以使用Localizer对象自定义皮肤菜单,而不是迭代每个条形皮肤子菜单项和功能区皮肤库项容器来手动修改这些项。此方法允许您同时自定义所有现有栏子菜单和功能区库中的外观项目。

  • 创建BarLocalizer类的派生类并重写XtraLocalizer.GetLocalizedString方法。
public class MyBarLocalizer : BarLocalizer {public override string GetLocalizedString(BarString id) {if(id == BarString.SkinCaptions) {string defaultSkinCaptions = base.GetLocalizedString(id);string newSkinCaptions = defaultSkinCaptions.Replace("|DevExpress Style|", "|Default Skin|");newSkinCaptions = newSkinCaptions.Replace("|DevExpress Dark Style|", "|Default Dark Skin|");return newSkinCaptions;}return base.GetLocalizedString(id);}
}
  • 使用静态BarLocalizer.Active属性,将自定义类的新实例设置为当前条形图定位器。在应用程序之前在Program类中调用此方法。运行方法调用,如下所示。
static class Program {/// <summary>/// The main entry point for the application./// </summary>[STAThread]static void Main() {BonusSkins.Register();SkinManager.EnableFormSkins();BarLocalizer.Active = new MyBarLocalizer();Application.Run(new Form1());}
}
  • 运行应用程序以查看结果。
    在这里插入图片描述
    重要提示
    如果自定义定位器是在条形外观子项之后指定的,或者功能区外观库已经初始化(例如,在“加载”事件中),则外观项将显示默认标题。在这种情况下,请调用静态SkinHelper。InitSkinPopupMenu和SkinHelper。InitSkinGallery方法再次初始化皮肤项目并激活定位器。
void ucBar_Load(object sender, EventArgs e) {BarLocalizer.Active = new MyBarLocalizer();//refresh bar sub-item linksskinBarSubItem1.ClearLinks();SkinHelper.InitSkinPopupMenu(skinBarSubItem1);//refresh Ribbon gallery linksSkinHelper.InitSkinGallery(skinRibbonGalleryBarItem1);
}

相关文章:

  • 【超详细】使用RedissonClient实现Redis分布式锁
  • ArrayList集合+综合案例
  • 英语复习之英语同音词总结(六)
  • MySQL 中 Varchar(50) 和 varchar(500) 区别是什么?
  • React常见面试题(2024最新版)
  • Postman简介
  • 鸿蒙低代码开发的局限性
  • STM32项目分享:智能窗帘系统
  • 设置服务器禁止和ip通信
  • C语言 | Leetcode C语言题解之第145题二叉树的后序遍历
  • MySQL Online DDL原理解读
  • Scala学习笔记12: 高阶函数
  • Qwen-Agent:Qwen2加持,强大的多代理框架 - 函数调用、代码解释器以及 RAG!
  • Hbase搭建教程
  • 如何使用Spring Boot框架整合Redis:超详细案例教程
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Laravel核心解读--Facades
  • Linux后台研发超实用命令总结
  • PAT A1120
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • SOFAMosn配置模型
  • Spring Boot快速入门(一):Hello Spring Boot
  • TCP拥塞控制
  • vue-router 实现分析
  • 计算机常识 - 收藏集 - 掘金
  • 利用DataURL技术在网页上显示图片
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 如何设计一个比特币钱包服务
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 新版博客前端前瞻
  • 正则学习笔记
  • 湖北分布式智能数据采集方法有哪些?
  • #HarmonyOS:软件安装window和mac预览Hello World
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET处理HTTP请求
  • .py文件应该怎样打开?
  • :中兴通讯为何成功
  • @Mapper作用
  • [100天算法】-二叉树剪枝(day 48)
  • [Angularjs]ng-select和ng-options
  • [BZOJ2208][Jsoi2010]连通数
  • [bzoj2957]楼房重建
  • [C#]winform部署yolov9的onnx模型
  • [CLR via C#]11. 事件
  • [c语言]小课堂 day2
  • [daily][archlinux][game] 几个linux下还不错的游戏
  • [IDF]被改错的密码
  • [LeetCode]剑指 Offer 42. 连续子数组的最大和