9

我知道并使用两种方法来存储和访问应用程序范围内的资源:

  1. 属性\资源.resx
  2. 创建一个文件夹并在其中放置例如图像,将它们的构建模式设置为 Resource

这两种方法在性能和复杂性方面有什么区别,何时应使用每种方法以及在 WPF 和 VB 或 C# 代码中以何种方式最好地消耗资源?

提前致谢,

朱利安

4

1 回答 1

7

在 WPF 项目中引用图像等资源的“自然”方式是您的第二个选择。您可以使用相对 URI 指向图像,WPF 将延迟加载它。您可以使用pack URI 语法引用其他程序集中的资源。

使用Resources.resx将代码生成在引用时加载资源的属性。资源可以是字符串、图像、图标或字节数组。在 XAML 中使用{x:Static}允许您引用由代码生成器生成的静态属性,但通常您需要一个转换器将资源类型转换为 WPF 可用的类型。

有一些本地化支持Resources.resx,如果您想提供多语言应用程序,您可以将翻译后的字符串存储在Resources.resx. 但是, Microsoft 描述的WPF 本地化不是基于Resources.resx.

对于图像,第二个选项要容易得多。对于字符串,第一个选项可能更容易,但您可以留在 XAML 中并创建一个ResourceDictionary.

于 2012-05-07T12:13:45.900 回答