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

标签 wpf resources

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

  • 属性\Resources.resx
  • 创建一个文件夹并在其中放置例如图像,将其构建模式设置为Resource

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

    提前致谢,

    朱利安

    最佳答案

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

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

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

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

    关于wpf - 在WPF项目中使用资源的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472284/

    相关文章:

    c# - 带有节标题和数据绑定(bind)的列表框

    c# - DataGrid 宽度上的 WPF 全宽 DataGrid 列

    c# - ClickOnce 发布期间出错

    c# - 加载到 richtextbox wpf c# 后,rtf 布局发生了变化

    c# - 合适的 ObservableCollection

    c# - 如何使我的 C# Windows 应用程序轻量级?

    ruby-on-rails - Rails 中默认 RESTFUL 路由的覆盖方法

    .NET 等同于 Java 资源包中的选择?

    Eclipse 3.7/GWT+GAE 向导,资源已经存在?

    android - 我怎样才能到达 getResources() 和 Context 除了 Activity 类?