2011-12-08 94 views
1

我有一個Silverlight應用程序,其資源文件包含用於本地化的字符串。無法將Microsoft命名指南應用於資源標識符

由於會有大量的字符串,我正在尋找一種很好的方法來創建標識符。

確實使用了圓點分隔符(「」)嵌套標識符與清晰的層次結構:所以它是說我去這個page

例如,Menus.FileMenu.Close.Text和 Menus.FileMenu.Close.Color等名稱符合此準則。

但是,當我嘗試使用這樣的標識符(如Foo.Bar),Visual Studio中不斷告訴我,資源名稱是不是有效的標識符......這只是一個警告,並不會阻止我的應用程序從建築,但那麼我的資源不會在運行時找到。
當然,如果我更改像Foo這樣簡單的標識符,那麼一切都很好。

我在做什麼錯?我在Microsoft指南中錯過了什麼?

任何幫助,暗示或建議,將不勝感激。

回答

0

From here:

或者,您可以禁用生成強類型的功能爲您的.resx 文件。爲此,您可以在解決方案 explorer中選擇您的.resx文件,轉到該文件項的屬性頁,將「Custom Tool」和「Custom Tool Namespace」設置爲空字符串。

我試過這個,它工作。

+0

謝謝。這確實回答了我的問題,但如果我這樣做,則不會生成代碼,也不能使用Tim Heuer的CustomResources類:http://timheuer.com/blog/archive/2009/08/26/silverlight-string-localization。 ASPX。那麼,也許我只是用'_'來代替'.' ... – Rodolphe

+0

它確實生成了屬性,但它們用下劃線替換了點... –

+0

我不確定我的理解。這些生成的屬性在哪裏?我如何通過數據綁定從XAML訪問它們? – Rodolphe