我知道并使用两种方法来存储和访问应用程序范围内的资源:
- 属性\资源.resx
- 创建一个文件夹并在其中放置例如图像,将它们的构建模式设置为 Resource
这两种方法在性能和复杂性方面有什么区别,何时应使用每种方法以及在 WPF 和 VB 或 C# 代码中以何种方式最好地消耗资源?
提前致谢,
朱利安
在 WPF 项目中引用图像等资源的“自然”方式是您的第二个选择。您可以使用相对 URI 指向图像,WPF 将延迟加载它。您可以使用pack URI 语法引用其他程序集中的资源。
使用Resources.resx
将代码生成在引用时加载资源的属性。资源可以是字符串、图像、图标或字节数组。在 XAML 中使用{x:Static}
允许您引用由代码生成器生成的静态属性,但通常您需要一个转换器将资源类型转换为 WPF 可用的类型。
有一些本地化支持Resources.resx
,如果您想提供多语言应用程序,您可以将翻译后的字符串存储在Resources.resx
. 但是, Microsoft 描述的WPF 本地化不是基于Resources.resx
.
对于图像,第二个选项要容易得多。对于字符串,第一个选项可能更容易,但您可以留在 XAML 中并创建一个ResourceDictionary
.