Я следовал этому примеру для создания многоязычного приложения: Как: создать локализованное приложение для Windows Phone .
Я успешно связал данные ресурса с текстом следующим образом:
<TextBlock x:Name="ApplicationTitle" Text="{Binding Path=MultiLangResources.Mainpage_Welcome, Source={StaticResource MultiLang}}"/>
И я попытался изменить Thread.CurrentThread.CurrentUICulture
, и я могу вывести правильный ключ с кодом:
ApplicationTitle.Text = LangResource.Mainpage_Welcome;
Однако связанный текст никогда не обновляется.
Как заставить связанный текст обновляться как обычный bind?
Кто-нибудь может мне помочь с этой проблемой?
Я тоже попробовал это без удачи.
public class MultiLang : INotifyPropertyChanged
{
public MultiLang()
{
}
private static MLTest.LangResource multiLangResources = new GigapodV2.LangResource();
public MLTest.LangResource MultiLangResources
{
get { return multiLangResources; }
set
{
if (value != multiLangResources)
{
multiLangResources = value;
NotifyPropertyChanged("MultiLangResources");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string property)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
}