2013-05-02 43 views
1
.resw

字符串資源數據在Windows 8字符串資源數據綁定在Windows 8

綁定在Windows Phone的我用如下:

  1. 創建AppStrings.resx,並把所有的字符串就可以了。
  2. 創建類StringResources,返回實例AppStrings.resx的字段。
  3. StringResources添加到​​。

StringResources.cs

public class StringResources 
    { 
     private static AppStrings _resources; 

     public static AppStrings LocalizedResources 
     { 
      get { return _resources ?? (_resources = new AppStrings()); } 
     } 
    } 

在App.xaml中

<Application.Resources> 
     <ResourceDictionary> 
      <res:StringResources x:Key="Strings"/> 
     </ResourceDictionary> 
    </Application.Resources> 

使用來自像XAML我的資源。

Text="{Binding Path=LocalizedResources.StringName, Source={StaticResource Strings}}" 

所有的偉大工程,但我不能這樣做在Windows 8
我在Windows上使用搜索字符串資源使用DataBinding的類似的方式8.

注:
我檢查MSDN Sample,但無法找到我所需要的。
我也檢查ResW File Code Generator,這是可行的方式,但很牽強。

回答

1

您可以使用與WP相同的方法。 Visual Studio擴展PublicResXFileCodeGenerator用於生成一個強類型類,其靜態屬性對應於WinPhone應用程序中resx文件中的所有鍵。但由於某些原因,默認情況下W8沒有這樣的工具。

ResW文件代碼生成器Visual Studio extesion正在做同樣的事情。

http://visualstudiogallery.msdn.microsoft.com/3ab88efd-1afb-4ff5-9faf-8825a282596a

安裝它,然後你只需要設置「自定義工具」字段ReswFileCodeGenerator(在默認AppStrings.resw文件的屬性),並設置自定義工具命名空間提供一個名稱空間,您AppStrings類。 它會自動生成AppStrings類,然後你可以在WP中使用它。

注意:該擴展再生AppStrings CALSS每次你改變你AppString.resw文件和VS 2013年將迎來構造「新資源加載(‘AppStrings’)」爲廢棄的時間。您需要使用獨立於CoreWindow的方法ResourceLoader.GetForViewIndependentUse(「AppString」)來代替(GetForCurrentView(「AppString」)不起作用)。