Культура не обновляется в пользовательском интерфейсе - PullRequest
0 голосов
/ 02 февраля 2012

Я пытался реализовать локализацию в SIlverlight.

Я перехожу по этой ссылке для этого

http://timheuer.com/blog/archive/2009/08/26/silverlight-string-localization.aspx

Теперь проблема в том, что когда я жестко программирую какэто

  <object>
   ...
  <param name="uiculture" value="ar-SA" />
  <param name="culture" value="ar-SA" />
 </object>

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

<param name="uiculture" value="<%= System.Threading.Thread.CurrentThread.CurrentUICulture %>" />
<param name="culture" value="<%= System.Threading.Thread.CurrentThread.CurrentCulture %>" />

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

1 Ответ

0 голосов
/ 02 февраля 2012

Чтобы изменить Культуру, вам нужно, чтобы приложение silverlight было перезагружено, а для этого вам нужно обновить страницу, содержащую приложение silverlight.это означает, что вам нужно будет выполнить обратную передачу на сервер.

То, что мы сделали в нашем приложении, - это «переход» на страницу с QueryString, которая содержит выбранный язык.

код длясоздать обновление следующим образом:

HtmlPage.Window.Navigate(New Uri(App.Current.Host.Source, "../MainPage.aspx" + "?" + l_newCulture))

На стороне сервера вам нужно обновить переменную сеанса или что-то еще, а затем использовать код, который вы упомянули выше, но только вместо System.Threading.Thread.Current.., используйте свойствоэто оборачивает переменную сеанса, поэтому на странице это будет выглядеть так:

<param name="uiculture" value="<%= SelectedCurrentUICulture %>" />
<param name="culture" value="<%= SelectedCurrentCulture %>"

Удачи, Лиор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...