Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 框架导航服务未在GoBack上使用当前区域性_Wpf_User Controls_Embedded Resource_Currentculture_Navigationservice - Fatal编程技术网

Wpf 框架导航服务未在GoBack上使用当前区域性

Wpf 框架导航服务未在GoBack上使用当前区域性,wpf,user-controls,embedded-resource,currentculture,navigationservice,Wpf,User Controls,Embedded Resource,Currentculture,Navigationservice,我在应用程序中使用一个框架对象来浏览我的所有屏幕(用户控件) 我的语言页面可以从几个不同的位置访问。选择新语言后,我使用Frame.GoBack()方法返回上一屏幕。但是,当我返回时,屏幕仍使用先前选择的语言。此后导航到的所有页面都使用正确的语言 我们通过设置线程区域性来设置语言,应用程序会自动从正确的资源文件加载翻译 如何强制框架使用新区域性重新加载用户控件的资源,或确定我以前所在的页面类型并再次加载该用户控件 我看了这篇文章,但我不能使用他们解释的内容。因为没有允许实例化前一个对象的公共属性

我在应用程序中使用一个
框架
对象来浏览我的所有屏幕(
用户控件

我的语言页面可以从几个不同的位置访问。选择新语言后,我使用
Frame.GoBack()
方法返回上一屏幕。但是,当我返回时,屏幕仍使用先前选择的语言。此后导航到的所有页面都使用正确的语言

我们通过设置线程
区域性
来设置语言,应用程序会自动从正确的资源文件加载翻译

如何强制框架使用新区域性重新加载用户控件的资源,或确定我以前所在的页面类型并再次加载该用户控件

我看了这篇文章,但我不能使用他们解释的内容。因为没有允许实例化前一个对象的公共属性。


我在XAML中使用:
“{x:Static resx:Translations.HelloWorld}”
设置页面的资源,然后使用:
Thread.CurrentUICulture=cultureInfo
&
Thread.CurrentCulture=cultureInfo

设置区域性,只是为了澄清一下,如果您再返回一次,该页面是否有正确的语言?如果是这样的话,那么继续工作会起作用吗?显然,这不是一个在所有情况下都能工作的解决方案,但我感兴趣的是,如果后堆栈中的所有页面都保留其原始字符串。另外,您是否使用
DynamicResource
StaticResource
(甚至可能是
Binding
s)访问本地化字符串?理论上,是的;如果我返回n次,它将加载我选择的当前语言。“前进”当前的工作方式如所述。我假设返回的每个页面也有其原始字符串,尽管我还没有测试这个案例。我正在使用“{x:Static resx:Translations.HelloWorld}”,并使用Thread.CurrentUICulture=cultureInfo&Thread.CurrentCulture=cultureInfo设置区域性。