Вопрос

Я пытался придумать лучший подход к локализации, чем LocBaml (который отстой). И хотя я мог бы использовать что-то вроде {DynamicResource {x: Static LocalizableTexts.OpenTextKey}} (dynamicresource, потому что мой язык мог измениться во время выполнения). Единственный вопрос? Как правильно создать LocalizableTexts.OpenTextKey? Есть ли учебник, который может научить меня, как создавать собственные RessourceKeys и как их обновлять во время выполнения?

Кстати, я живу в мире MVVM ...

Это было полезно?

Решение

Я думаю, что ваши ключи ресурсов после компонента.

Начните с определения ресурса в словаре ресурсов 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}} 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top