Silverlight telerik gridview使用MVVM强制绑定刷新

时间:2012-07-23 08:28:41

标签: silverlight mvvm

这是情景:

我的页面上有一个telerik gridview,它绑定到一个PagedCollectionView 与“GekoppeldeOntvangstRegel”类的项目,

此类实现INotifyPropertyChanged

有几列有一个CellTemplate,TextBlock绑定到此类的对象,如下所示:

 <TextBlock Text="{Binding ConverterParameter='aantal', Converter={StaticResource GekoppeldeRegelDecimalFormatConverter}, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True, ValidatesOnNotifyDataErrors=True}" HorizontalAlignment="Right" ToolTipService.ToolTip="{Binding ConverterParameter='aantal', Converter={StaticResource GekoppeldeRegelToolTipDecimalFormatConverter}}" />

此转换器将“Aantal”属性转换为具有特定小数位数的字符串。 当我使用OnPropertyChanged(“Aantal”)从代码更新“Aantal”属性时,绑定不会更新(因为文本块绑定到整个对象,而不是属性),因此旧值仍然可见。

当属性发生变化时,如何刷新viewmodel或object中的列内容?

当我直接绑定到“Aantal”属性时,一切都很完美(除了转换器没有应用,这是必要的)

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,我现在在“GekoppeldeOntvangstRegel”类中创建了几个额外的属性。

这些属性调用转换器并以正确的小数位数返回正确的值。 在这些属性上,提高OnPropertyChanged确实可以刷新绑定。

我对这个解决方案并不满意,但它现在有效。