大家帮看下,为什么在转换器中不能获取第二个参数的值!
<Grid> <dxg:GridControl Name="dgResistance" > <dxg:GridControl.View> <dxg:TableView Name="tvResistance" AllowPerPixelScrolling="True" AllowEditing="False" ShowTotalSummary="False" ShowGroupPanel="False"/> </dxg:GridControl.View> <dxg:GridControl.Columns> <dxg:GridColumn Header="物料编码" FieldName="Code" /> <dxg:GridColumn Header="label信息" FieldName="LabelMessage"/> <dxg:GridColumn Header="功率" FieldName="Power" x:Name="cellPower"> <dxg:GridColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Path=Value}" > <TextBlock.Foreground> <MultiBinding Converter="{StaticResource ColorChoiceConvert}"> <Binding Path="Value"/> <Binding Path="Value" ElementName="cellK3Model"/> </MultiBinding> </TextBlock.Foreground> </TextBlock> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn> <dxg:GridColumn Header="阻值" FieldName="ResistanceValue"/> <dxg:GridColumn Header="公差" FieldName="Tolerance"/> <dxg:GridColumn Header="K3规格型号" FieldName="K3Model" x:Name="cellK3Model"/> </dxg:GridControl.Columns> </dxg:GridControl> </Grid>
解决方案
20
Power与K3Model 属于同一个类,使用普通绑定即可。 在Converter中接受一个对象,去分别取它的Power与K3Model 的值。相似:
Foreground=”{Binding DataContext,RelativeSource={RelativeSoure AncestorType=DataGridRow},Converter={StaticeSource xxx}}“
Foreground=”{Binding DataContext,RelativeSource={RelativeSoure AncestorType=DataGridRow},Converter={StaticeSource xxx}}“
20
model里要有power和k3model,再加一个cellcolor用于绑定单元格背景色。这样只需比较power和k3model两个值即可,比较后根据结果设置cellcolor。