【问题标题】:using {DynamicResource {x:Static LocalizableTexts.OpenTextKey}}使用 {DynamicResource {x:Static LocalizableTexts.OpenTextKey}}
【发布时间】:2009-06-16 16:56:26
【问题描述】:

我一直在尝试提出比 LocBaml 更好的本地化方法(太糟糕了)。我虽然可以使用 {DynamicResource {x:Static LocalizableTexts.OpenTextKey}} 之类的东西(动态资源,因为我的语言可以在运行时改变)。唯一的问题是?如何正确创建 LocalizableTexts.OpenTextKey ?是否有教程可以教我如何创建自定义 RessourceKey 以及如何在运行时更新它们?

顺便说一句,我生活在 MVVM 世界中......

【问题讨论】:

    标签: wpf mvvm localization


    【解决方案1】:

    我认为你的后组件资源键。

    首先在 XAML 资源字典中定义您的资源,例如:

    <local:OpenText x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:LocalizableTexts}, ResourceId=OpenText}" />
    

    然后创建一个静态访问器类:

    public static class LocalizableTexts
    {
         public static ComponentResourceKey OpenTextKey
         {
            get { return new ComponentResourceKey(typeof(LocalizableTexts), "OpenText"); }
         }
    }
    

    最后一定要在使用静态绑定时指明xml命名空间:

    {DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}} 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 2014-08-08
      • 2017-12-27
      • 2016-10-02
      • 2018-01-26
      • 2013-06-02
      • 1970-01-01
      相关资源
      最近更新 更多