【发布时间】:2010-04-16 13:15:37
【问题描述】:
我需要从翻译管理器中检索 TextBlock.Text,例如
<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);
}
}
但是,有没有更好、更短的方法?
【问题讨论】:
标签: silverlight silverlight-3.0