2

目前,如果要本地化說,在Windows Phone的應用程序應用程序標題,你會做這樣的:更方便的方式來定位

<TextBlock Text="{Binding LocalizedResources.ApplicationTitle, 
        Source={StaticResource LocalizedStrings}}" /> 

這是太長了,某些部分重複每個綁定。例如,即使您要重命名LocalizedResources屬性爲RLocalizedStrings類爲LS例如,仍然存在一些重複。

所以我試圖使從Binding類繼承的類,並實現如下:

public class LocalizedBinding : Binding { 
    public LocalizedBinding(string path) : base(path) { 
     Source = Application.Current.Resources["LocalizedStrings"]; 
    } 
} 

的希望是把它當作如下:,應用程序崩潰後立即

<TextBlock Text="{b:LocalizedBinding LocalizedResources.ApplicationTitle}" /> 

然而開始,即使在調試器中我也看不到任何錯誤。有關這可能工作的任何提示?

感謝

編輯:

添加一個參數的構造函數來LocalizedBinding和附加Path=到綁定修復它。

+0

你可以看看優秀的MvvmCross是如何做到的。 https://github.com/slodge/MvvmCross請參閱:'MvxLanguageConverter' – 2013-04-07 01:12:22

回答

1

這是通過添加參數的構造函數的LocalizedBinding

public class LocalizedBinding : Binding { 
    public LocalizedBinding() { 
     Source = Application.Current.Resources["LocalizedStrings"]; 
    } 

    public LocalizedBinding(string path) : base(path) { 
     Source = Application.Current.Resources["LocalizedStrings"]; 
    } 
} 
0

您可以嘗試,並把本地化類到你的App.xaml,然後在其語言的用戶已設置Application_Launching檢查固定。隨處顯示文本,然後引用App.xaml類。

相關問題