2013-05-26 3 views
3

У меня есть приложение для магазина Windows, которое поддерживает английский (LTR) и арабский (RTL).Приложения в Windows Store: изменить культуру приложения во время выполнения без перезапуска приложения?

Я хочу добавить опцию в настройки, чтобы пользователь мог изменить культуру приложения с английского на арабский и наоборот.

Я хочу, чтобы потоковые ресурсы и направление потока пользовательского интерфейса менялись немедленно, без перезапуска приложения.

как это можно сделать?

ответ

1

Используйте это для изменения культуры (не уверен, что LTR/RTL). Дайте мне знать, если это сработает. Возможно, вам понадобится обновить привязки локализации после установки новой культуры.

Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "de-DE"; 
+1

Он изменяет только культуру, текущее направление потока страницы не меняется сразу, затрагиваются только новые навигационные страницы. есть ли способ убедиться, что изменения макета происходят немедленно? –

+0

Кажется, что вам нужно перезапустить приложение до того, как произойдут изменения в культуре, теперь есть способ отразить изменения во время выполнения. –

+0

Вам просто нужно либо сбросить DataContext, либо привязки локализации. Он работает даже без перезапуска приложения. –

0
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "de-DE"; 

только работает, если поместить ПОСЛЕ "Кадр rootFrame" создание в App OnLaunched события. Я использую для разработки, используя один язык во время разработки, а другой во время выполнения, что позволяет легко проверять использование ресурсов.

Смежные вопросы