当前位置:  开发笔记 > 编程语言 > 正文

如何从资源中获取字符串以在xaml中的WPF资源部分中进行分配

如何解决《如何从资源中获取字符串以在xaml中的WPF资源部分中进行分配》经验,为你挑选了4个好方法。

我有一个带有以下用户控件的XBAP应用程序:

  

        
            
                
                    
                    
                
            
    
    ...

现在我想从resx文件中获取字符串"xxUser",该文件作为资源嵌入到应用程序中我该如何实现?



1> 小智..:

我能够在以下程序中完成:


我还必须在我的xaml中包含.Properties命名空间,如下所示:

xmlns:prop="clr-namespace:MyProjectNamespace.Properties"

这使我不仅可以使用我为我的项目为全球化定义的字符串资源,而且还能够(双向)绑定到我的应用程序的设置.这让我很容易记住窗口的位置,大小等.如您所见,使用"设置".用于设置和资源.对于资源.

正如Steven所说,我认为"官方"方式或"最佳"方式是将x:Uid粘贴在你想要全球化的所有内容上,但我没有,它没有任何问题.我认为如果您使用自动化工具或像在大型项目中那样打破翻译任务,则大多数情况下都需要x:Uid.我只是在VS中手动完成了所有我自己的东西,所以也许没关系.



2> Benny Jobiga..:

还有两点我在上面忘记提到"我能够做到......":

    您不必将Properties.Resources对象包装在自己的对象中.您可以直接访问它,就像我在上面的示例中所做的那样.我认为包装对象是一种获得与我在第二点讨论的结果相同的方法.

    默认情况下,资源文件使用"ResXFileCodeGenerator"构建.这使它们在生成代码文件时是内部的,因此xaml无法访问它.您必须将其更改为" PublicResXFileCodeGenerator ",它将生成公共类.您可以通过单击解决方案资源管理器中的资源文件并编辑"自定义工具"属性来更改此设置.

(对不起,我无法编辑上面的帖子,因为我当时是临时会员.)


ad.2.这是常见的遗漏(惊喜),VS允许您简单地切换到"公共"(工具栏中的"访问修饰符"组合).不需要第三方工具.

3> Josh G..:

创建一个静态类,使资源可用作属性:

public static class Resources
{
   public string Resource
   {
      return Properties.Resources.ResourceManager.GetString("Resource");
   }
}

然后你可以将TextBox绑定到:




4> AechoLiu..:

正如本所说,我找到了另一个教程。该access modifierResources.resx应该从改变InternalPublic。我多次失败,将更access modifier改为后Public,它确实可以工作。

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有