C# 区域性未在UI中升级

C# 区域性未在UI中升级,c#,silverlight,C#,Silverlight,我尝试在SIlverlight中实现本地化 我跟随这个链接 现在的问题是,当我像这样硬编码文化时 <object> ... <param name="uiculture" value="ar-SA" /> <param name="culture" value="ar-SA" /> </object> ... 它工作正常,但当我试图通过更改combobox值来更改区域性时,它无法更新UI <param name="

我尝试在SIlverlight中实现本地化

我跟随这个链接

现在的问题是,当我像这样硬编码文化时

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

...
它工作正常,但当我试图通过更改combobox值来更改区域性时,它无法更新UI

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


请任何人告诉我为什么不更新UI。

为了改变区域性,您需要重新加载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 %>"


您能详细解释一下什么不适合您吗?Silverlight combobox与selected value绑定存在已知问题。也许这个链接会对你有所帮助