2014-09-30 102 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