我是WPF的初学者,目前正在开发我的第一个应用程序。 对于这个项目,我应该使用这种方法在应用程序中添加本地化:
[TranslationService.cs]
public class TranslationService
{
string language;
public TranslationService(string language)
{
this.language = language;
}
public string GetTranslation(string key)
{
var value = *select the value from database based on "key" and "language"*
return value;
}
}
我正试图弄清楚如何以优雅的方式在XAML中使用这个GetTranslation方法..但是我很难过。
我是这样的:
[SomePage.xaml]
..
<TextBlock Text="{Binding source="_translator" parameter="WelcomeMessage" }" />
..
我正在尝试使用我拥有的2本WPF书籍以及一些谷歌搜索来解决它...但我在新语法中迷失了......
谁能帮助我回到正轨?
答案 0 :(得分:1)
如果使用MVVM模式,可以将此逻辑放入ViewModel:
class MyViewModel
{
private readonly TranslationService translator_;
public string WelcomeMessageText
{
get { return translator_.GetTranslation("WelcomeMessage"); }
}
// ...
}
并绑定到XAML中的那个:
<TextBlock Text="{Binding WelcomeMessageText}"/>