我想在XamDataGrid的一个字段中显示图像。
我拥有的图片的路径是我Model
中的一个属性。我能够使用普通的WPF DataGrid
显示图像,但是遇到了XamDataGrid的问题。(参见第2点)
将ItemImage属性绑定到XamDataGrid字段。
<igDP:Field.Settings>
<igDP:FieldSettings AllowEdit="False">
<igDP:FieldSettings.CellValuePresenterStyle>
<Style TargetType="{x:Type igDP:CellValuePresenter}" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<Grid>
<Image
Source="{Binding RelativeSource={RelativeSource AncestorType= {x:Type igDP:XamDataGrid}}, Path=ItemImage, Converter={StaticResource ImageConverter}}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</igDP:FieldSettings.CellValuePresenterStyle>
</igDP:FieldSettings>
</igDP:Field.Settings>
`
使用普通的WPF数据网格。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding ItemImage, Converter={StaticResource ImageConverter}}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
请告诉我。如果我必须在步骤1中做出任何改变。
答案 0 :(得分:1)
xamDataGrid中每个字段的DataContext是DataRecord对象,其中的属性DataItem包含您的对象,因此绑定应该像这样定义:
<igDP:Field.Settings>
<igDP:FieldSettings AllowEdit="False">
<igDP:FieldSettings.CellValuePresenterStyle>
<Style TargetType="{x:Type igDP:CellValuePresenter}" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
<Grid>
<Image
Source="{Binding DataItem.ItemImage, Converter={StaticResource ImageConverter}}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</igDP:FieldSettings.CellValuePresenterStyle>
</igDP:FieldSettings>