在WPF项目中使用资源的最佳实践

Jul*_*ian 9 wpf resources

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

  1. 属性\ Resources.resx
  2. 创建一个文件夹并在那里放置示例图像,将其构建模式设置为Resource

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

提前致谢,

朱利安

Mar*_*age 7

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

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

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

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