2012-11-13 46 views
0

我正在使用http://wpflocalizeextension.codeplex.com進行本地化,並具有以下頁面。在Codebehind中更改ResxLocalizationProvider.DefaultDictionary

<Window xmlns:lex="http://wpflocalizeextension.codeplex.com" 
    lex:LocalizeDictionary.DesignCulture="en" 
    lex:ResxLocalizationProvider.DefaultAssembly="AssemblyTestResourceLib" 
    lex:ResxLocalizationProvider.DefaultDictionary="Strings"> 
<!-- Some controls --> 
</Window> 

有誰知道如何更改代碼後面的屬性?

ResxLocalizationProvider.DefaultDictionary="Strings" 

ResxLocalizationProvider.DefaultDictionary="OtherStrings" 

回答

1

假設是附加屬性,它會像

public MainWindow() 
    { 
     InitializeComponent(); 

     Console.WriteLine(ResxLocalizationProvider.GetDefaultDictionary(this)); 
     ResxLocalizationProvider.SetDefaultDictionary(this, "OtherStrings"); 
     Console.WriteLine(ResxLocalizationProvider.GetDefaultDictionary(this)); 
    } 

我實際上並不具有法模塊所以不能試試這個自己...

+0

你好我剛試過了,它不工作,談到了「錯誤\t \t非可調用成員「 WPFLocalizeExtension.Providers.ResxLocalizationProvider.DefaultDictionaryProperty'不能像方法一樣使用\t「 –

+0

Hi @WelshKing對不起,我錯了,SetDefaultDictionary方法也需要這個參數。我現在已經在Window構造函數中測試了它,並修改了上面的代碼來顯示我做過的測試。這似乎工作得很好 - 輸出顯示了原始值和新值根據需要。 –

+0

謝謝你的工作 –

相關問題