我有这个ValueConverter:
public class LabelConverter : IValueConverter
{
public object Convert(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
return ApplicationSettings.getTranstaltion(value.ToString());
}
}
用于根据所选语言转换某些标签。应该传入的值是labelName,然后在数据库中查找。然后选择propper翻译并发回。以下是我使用但尝试失败的两次尝试:
<telerik:ChartLegend Header="{Binding Converter={StaticResource LabelConverter},
ConverterParameter='lblLegend'}"
x:Name="ChartLegend1"
/>
<telerik:ChartLegend Header="{Binding ElementName=ChartLegend1, Path=Tag
Converter={StaticResource LabelConverter}"
x:Name="ChartLegend1"
Tag="lblLegend"
/>
任何帮助?
答案 0 :(得分:1)
我想到的第一件事就是检查尝试使用Mode=TwoWay
明确添加绑定模式。
[编辑]
此外,您应该检查是否ApplicationSettings.getTranstaltion()
引发了一个由Silverlight静默阻塞的异常。最后,value
可能 null 吗?在这种情况下,value.ToString()可能会抛出异常。
Silverlight经常在没有用户注意到的情况下(或由于您的Visual Studio异常设置)静默处理异常,因此在后两种情况下,如果没有向您提供异常,转换器可能无法执行某些操作。