2014-09-30 106 views
0

我很努力解决这个问题。我有一个web服务,为我的应用程序检索所有可能的标签(带键)。这个标签可能因文化而异(en,fr,de,pt等)。 我的疑问是,如何创建/填充该文化的资源文件并填写这些标签/密钥?来自webservice的WPF资源本地化

这些标签由后端服务器管理,并且我有GET到REST web服务来获取这些字符串。

谢谢

回答

1

我不认为有任何这方面的最佳做法。您需要编写一个迷你框架,可以执行以下列出的任一项:

  1. [如果使用MVVM]您可以将标签放在您的视图模型上并在XAML中绑定到它们。即使在使用片段时,也会涉及很多属性。而且,绑定时很多属性都很痛苦。
  2. [如果使用MVVM]类似于1的更好的设计,您可以将标签存储在视图模型中属性的单独类中。让你的想象力变得疯狂,使用单身,缓存等。这是最危险的方法。
  3. 您可以创建一个(或更多类)像任何视图模型(至少使用INotifyPropertyChanged),将其存储为XAML资源并绑定到它,并在需要时填充它。更多的XAML绑定标签时,但不会做出你要求的内容,而且对其他人来说很容易阅读。

在你上面列出的可以在运行时通过翻译立即被有效(假设你实现INotifyPropertyChanged的并绑定标签考虑到这一点)改变区域的所有选项,你不和的.resx改变线程得到文化。

我会尝试所有3作为示例项目,看看哪些将使操作标签资源(添加,删除,更改,重命名,并且当然保持其内容)的时间有效的方式。

就我个人而言,我会与3.我列出的其他人只是有点穷尽。

+0

我发现了这个扩展名:http://wpflocalizeextension.codeplex.com/wikipage?title=Localization%20providers&referringTitle=Documentation 我会给它一个尝试,但感谢您的可能的解决方案! – sexta13 2014-09-30 16:16:16

+0

你能举一个更好的例子吗? – sexta13 2014-10-02 22:56:39