мне нужно TextBlock.Text быть извлечено из менеджера перевода, что-то вродеSilverlight: Привязка к статическому значению
<TextBlock Text="{Binding TranslateManager.Translate('word')}" />
Я не хочу, чтобы установить DataSource для всех текстовых блоков. Единственный способ, которым я нашел, как сделать это, чтобы связываться с «статический» класса и использование преобразователя:
<TextBlock Text="{Binding Value,
Source={StaticResource Translation},
Converter={StaticResource Translation},
ConverterParameter=NewProject}" />
И эти вспомогательный класс
public class TranslationManager : IValueConverter
{
public static string Translate(string word)
{
return translate(word);
}
// this is dummy for fake static binding
public string Value { get; set; }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var name = parameter as string;
return TranslationManager.Translate(name, name);
}
}
Но есть лучше - короче - путь?