前言
在写WinUI 3或UWP项目的时候,总觉得resw文件冗长可读性又差,希望要是能用json就好了。
我在测试MakePri.exe[1]的时候意外发现了它支持一种叫resjson的文件,可以用以取代resw。
本文假定读者以有resw[2]的使用基础。
priconfig.xml部分内容:
<indexer-config type="resw" convertDotsToSlashes="true" initialPath=""/> <indexer-config type="resjson" initialPath=""/>
对比
resjson虽然没有可视化编辑器,但它可读性十分高,可以直接用文本编辑器编辑。
相对而言resw文本可读性很低,几乎只能用可视化编辑器编辑。
resjson不支持注释,但其实注释除了可视化编辑器内其他地方都用不到,所以并没有什么用处。
另外用于x:Uid
的属性写法,如TextBox.Text
,在resjson中须将点换成斜杠,即TextBox/Text
。
因为resjson默认没有设置convertDotsToSlashes
。
语法
resjson的语法是标准json,但文件后缀名必须是resjson,而且内容只能包含简单的单个json对象,成员是字符串键和字符串值,如:
{ "String1": "字符串1内容", "TextBox2/Text": "字符串2", "TextBox2/AutomationProperties/Name": "字符串3" }
也许大家注意到了第三句在resw里得写成:
TextBox2.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name
然而方括号内的部分(附加属性)在resjson完全不需要写,并且效果是一样的,不理解为什么微软要求resw加上命名空间。
引用
引用方法和resw完全一致,放在指定位置并引用后,使用x:Uid
或者ResourceLoader
引用即可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!