この例では、多言語アプリを作成しました:How to: Build a Localized Application for Windows Phone。実行時にWindows Phone APP言語を変更するにはどうすればよいですか?
私は正常にこのようにテキストにリソースデータをバインド:
<TextBlock x:Name="ApplicationTitle" Text="{Binding Path=MultiLangResources.Mainpage_Welcome, Source={StaticResource MultiLang}}"/>
そして私はThread.CurrentThread.CurrentUICulture
を変更しようとしたと私はできたコードで出力正しいキー:
ApplicationTitle.Text = LangResource.Mainpage_Welcome;
しかし、バインドテキスト決して更新しないでください。
通常のバインドのようにバインドされたテキストを更新するにはどうすればよいですか?
誰でもこの問題を手伝ってもらえますか? 私は運が無ければこれも試しました。
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));
}
}
}