Pregunta

He estado tratando de encontrar un mejor enfoque de localización que LocBaml (que apesta). Y pensé que podría usar algo como {DynamicResource {x: Static LocalizableTexts.OpenTextKey}} (dynamicresource porque mi idioma podría cambiar en tiempo de ejecución). La única pregunta es? ¿Cómo creo correctamente LocalizableTexts.OpenTextKey? ¿Existe algún tutorial que pueda enseñarme cómo crear RessourceKeys personalizadas y cómo actualizarlas en tiempo de ejecución?

Por cierto, estoy viviendo en el mundo MVVM ...

¿Fue útil?

Solución

Creo que sus claves de recursos de componentes posteriores.

Comience definiendo su recurso en un diccionario de recursos XAML, algo así como:

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

Luego cree una clase de acceso estático:

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

Finalmente, asegúrese de indicar el espacio de nombres xml cuando use un enlace estático:

{DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}} 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top