转换器不使用DataView执行

时间:2013-02-08 18:40:03

标签: .net wpf inotifypropertychanged dataview

我正在使用DevExpress的网格控件。我已将网格绑定到DataView:

m_dvResponses = New DataView(...)
m_dvResponses.Sort = "SEQUENCENUMBER"

GridResponses.ItemsSource = m_dvResponses

一切似乎都很好。当基础数据发生变化时,网格会自动更新,因此很好。

问题是我使用特定列上的转换器为某些单元格着色:

<dxg:GridColumn FieldName="AGENCYNAME" CellStyle="{StaticResource AgencyCellStyle}"/>

<Style x:Key="AgencyCellStyle" BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=CellStyle}}" TargetType="{x:Type dxg:CellContentPresenter}">
        <Setter Property="BorderThickness" Value="8,0,0,0"/>
        <Setter Property="BorderBrush" Value="{Binding Path=RowData.Row, Converter={StaticResource AgencyBackgroundColorConverter}, ConverterParameter=AGENCY}" />
        <Setter Property="Foreground" Value="{Binding Path=RowData.Row, Converter={StaticResource AgencyForegroundColorConverter}, ConverterParameter=AGENCY}" />
</Style>

当数据更改时,值会更新,但转换器似乎不会执行。转换器仅在网格自行绘制时执行。

Before ...

After ...

注意新的“p1”没有自己着色,因为转换器没有触发更新。

我的问题是:DataView在数据更新时会触发转换器吗?转换器是否依赖于实现INotifyPropertyChanged接口的对象?

感谢您的帮助!

0 个答案:

没有答案