C# 区域性未在UI中升级
我尝试在SIlverlight中实现本地化 我跟随这个链接 现在的问题是,当我像这样硬编码文化时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="
<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绑定存在已知问题。也许这个链接会对你有所帮助