1

我正在使用 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>

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

前 ...

后 ...

请注意新的“p1”是如何没有为自己着色的,因为转换器没有在更新时触发。

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

谢谢你的帮助!

4

0 回答 0