Domanda

Ho cercato di trovare un approccio di localizzazione migliore di LocBaml (che fa schifo). E ho pensato di usare qualcosa come {DynamicResource {x: Static LocalizableTexts.OpenTextKey}} (dynamicresource perché la mia lingua potrebbe cambiare in fase di esecuzione). L'unica domanda è? Come posso creare correttamente LocalizableTexts.OpenTextKey? Esiste un tutorial che può insegnarmi come creare RessourceKeys personalizzati e come aggiornarli in fase di esecuzione?

Vivo nel mondo MVVM tra l'altro ...

È stato utile?

Soluzione

Penso che le tue chiavi di risorsa after component.

Inizia definendo la tua risorsa in un dizionario di risorse XAML, qualcosa del tipo:

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

Quindi creare una classe di accesso statica:

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

Infine, assicurati di indicare lo spazio dei nomi xml quando usi un'associazione statica:

{DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}} 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top