如何在WinUI3页面中正确配置使用静态资源?
WinUI 3 静态资源(.resx)调用配置方法
前置配置
- 打开项目中的
Resources.resx文件,将顶部的「访问修饰符」设置为Public,默认值为Internal,WinUI 3的XAML解析器无法访问Internal级别的类成员 - 确认.resx文件的「自定义工具」属性为
PublicResXFileCodeGenerator,保证生成的资源类为公共可访问状态
XAML调用步骤
- 在页面/控件的XAML头部引入资源类所在的命名空间,WinUI 3使用
using:前缀代替WPF的clr-namespace:前缀,示例如下:
xmlns:p="using:你的项目命名空间.Properties"
请将上述路径替换为实际Resources类对应的命名空间,可直接查看Resources.Designer.cs文件顶部的namespace定义获取准确路径
- 使用
TextBlock替换原有Label,通过x:Bind绑定静态资源属性,无需使用WPF的x:Static标记:
<TextBlock Text="{x:Bind p:Resources.WJAJobtitle}" VerticalAlignment="Center"/>
注意事项
x:Bind默认采用OneTime绑定模式,刚好适配静态资源的加载场景,无需额外指定绑定模式- 如需支持运行时动态切换多语言,无需修改XAML绑定代码,仅需调整资源类的文化切换逻辑即可
内容的提问来源于stack exchange,提问作者Sascha Manns
相关产品推荐
相关产品推荐

