I am using a Frame
object in my application to navigate through all of my screens (user controls
).
My language page can be accessed from a couple different locations. When the new language is selected I use the Frame.GoBack()
method to return to the previous screen. However, when I go back, the screen is still in the previously selected language. All pages navigated to thereafter are in the correct language.
We are setting the language by setting the threads Culture
and the application automatically loads the translations from the correct resource file.
How can I force the Frame to reload the resources of the user control with the new culture or determine what type of page I was previously at and load that user control again?
I looked at this post, but I can not use what they explained. Because there is no public property that will allow instantiating the previous object. WPF/Silverlight NavigationService backstack
I am setting the resources of the page in the XAML using:"{x:Static resx:Translations.HelloWorld}"
and then setting the culture using:Thread.CurrentUICulture = cultureInfo
& Thread.CurrentCulture = cultureInfo