我需要TextBlock.Text從翻譯經理進行檢索,像的Silverlight:綁定到靜態值
<TextBlock Text="{Binding TranslateManager.Translate('word')}" />
我不想設置數據源的所有文本塊。我發現如何做到這一點的唯一方法是綁定到「靜態」類,並使用轉換器:
<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);
}
}
但是,有一個更好的 - 短 - 方法是什麼?