WPF绑定到GetTranslation(字符串键)方法进行本地化

时间:2009-09-15 09:38:33

标签: wpf binding localization

我是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书籍以及一些谷歌搜索来解决它...但我在新语法​​中迷失了......

谁能帮助我回到正轨?

1 个答案:

答案 0 :(得分:1)

如果使用MVVM模式,可以将此逻辑放入ViewModel:

class MyViewModel
{
    private readonly TranslationService translator_;

    public string WelcomeMessageText
    {
        get { return translator_.GetTranslation("WelcomeMessage"); }
    }

    // ...
}

并绑定到XAML中的那个:

<TextBlock Text="{Binding WelcomeMessageText}"/>