Frage

Ich habe versucht, mit einem besseren Lokalisierung Ansatz zu kommen als LocBaml (Wich saugt). Und ich, ich könnte allerdings so etwas wie verwenden {{Dynamic x: Static LocalizableTexts.OpenTextKey}} (Dynamic, weil meine Sprache zur Laufzeit ändern könnte). Die einzige Frage ist? Wie erstelle ich richtig LocalizableTexts.OpenTextKey? Gibt es ein Tutorial gibt, die mir beibringen kann, wie benutzerdefinierte RessourceKeys erstellen und wie sie zur Laufzeit aktualisieren?

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

War es hilfreich?

Lösung

Ich denke, Ihr nach Komponente Ressourcenschlüssel.

Starten Sie durch 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 sollten Sie die XML-Namespace anzuzeigen, wenn Sie eine statische Bindung verwenden:

{DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}} 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top