2009-06-16 9 views
0

Ich habe versucht, einen besseren Lokalisierungsansatz als LocBaml (wich sucks) zu finden. Und ich könnte etwas wie {DynamicResource {x: Static LocalizableTexts.OpenTextKey}} verwenden (dynamicresource, weil sich meine Sprache zur Laufzeit ändern könnte). Die einzige Frage ist? Wie erstelle ich LocalizableTexts.OpenTextKey korrekt? Gibt es ein Tutorial, das mir beibringt, wie man benutzerdefinierte RessourceKeys erstellt und wie man sie zur Laufzeit aktualisiert?mit {DynamicResource {x: Static LocalizableTexts.OpenTextKey}}

ich in der MVVM Welt durch die Art und Weise lebe ...

Antwort

0

Ich denke, Ihr nach Komponente Ressourcenschlüssel.

starten, indem Sie Ihre Ressource in einem XAML-Ressourcenverzeichnis definiert, so etwas wie:

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

Dann eine statische Accessorklasse erstellen:

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

Schließlich sicher, dass Sie den XML-Namespace angeben, wenn Sie eine statische Bindung:

{DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}} 
Verwandte Themen