2009-06-16 42 views
0

我一直在試圖想出一個比LocBaml更好的本地化方法(極其糟糕)。我雖然可以使用{DynamicResource {x:Static LocalizableTexts.OpenTextKey}}(動態資源,因爲我的語言在運行時可能會更改)。唯一的問題是?我如何正確創建LocalizableTexts.OpenTextKey?有沒有教程可以教我如何創建自定義的RessourceKeys以及如何在運行時更新它們?使用{DynamicResource {x:Static LocalizableTexts.OpenTextKey}}

我住在MVVM世界的方式...

回答

0

我想你的組件資源鍵。

開始通過在XAML資源字典定義你的資源,是這樣的:

<local:OpenText x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:LocalizableTexts}, ResourceId=OpenText}" /> 

然後創建一個靜態訪問器類:

public static class LocalizableTexts 
{ 
    public static ComponentResourceKey OpenTextKey 
    { 
     get { return new ComponentResourceKey(typeof(LocalizableTexts), "OpenText"); } 
    } 
} 

最後是一定要註明XML命名空間,當你使用靜態綁定:

{DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}} 
相關問題