单元格样式绑定不会更新值更改

时间:2015-01-29 15:45:35

标签: c# wpf data-binding

我有一个绑定到对象集合的DataGrid。每个DataGridColumn都是在代码后面创建的。

这些列的背景取决于对象的不同值。我在CellStyle中创建了背景绑定(因为它不应该覆盖触发器的默认样式)。

var backgroundBinding = new Binding         
{
    Converter = new MyBindingConverter(),
    ConverterParameter = new MyConverterParameter()
};
cellStyle.Setters.Add(new Setter(Control.BackgroundProperty, backgroundBinding));

正如您所看到的,它直接绑定到元素。由于不同的值正在改变,因此列的值会相应更新,但不会调用Binding的转换器。 我试着调用OnPropertyChanged(null)来表明对象已更新,但遗憾的是这不起作用。

1 个答案:

答案 0 :(得分:1)

您是否尝试为backgroundBinding指定Path?类似的东西:

var backgroundBinding = new Binding         
{
    Converter = new MyBindingConverter(),
    ConverterParameter = new MyConverterParameter(),
    ElementName = YourElementName,
    Path = PropertyOnElement
};
cellStyle.Setters.Add(new Setter(Control.BackgroundProperty, backgroundBinding));