发送值给ValueConverter
本文关键字:ValueConverter | 更新日期: 2023-09-27 18:17:42
我有这个ValueConverter:
public class LabelConverter : IValueConverter
{
public object Convert(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
return ApplicationSettings.getTranstaltion(value.ToString());
}
}
用于根据所选语言转换一些标签。应该传入的值是labelName,然后在数据库中查找它。然后选择合适的翻译并发回。以下是我使用过的两次尝试,但都失败了:
<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"
/>
帮忙吗?
我想到的第一件事是检查是否尝试显式地添加与Mode=TwoWay
的绑定模式。
[编辑]另外,你应该检查ApplicationSettings.getTranstaltion()
是否抛出了一个被Silverlight静默阻塞的异常。最后,value
可能是null吗?在这种情况下,value.ToString()可能会抛出异常。
Silverlight通常在用户没有注意到的情况下默默地处理异常(或者由于您的Visual Studio异常设置),因此在后两种情况下,转换器可能不会在没有向您显示异常的情况下执行某些操作。