0

我想在 XamDataGrid 的一个字段中显示图像。我拥有的图像的路径是我的Model. 我能够使用普通 WPF 显示图像DataGrid,但面临 XamDataGrid 问题。(见第 2 点)

  1. 将 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>
    

    `

  2. 使用普通的 WPF 数据网格。

    <DataGridTemplateColumn>
         <DataGridTemplateColumn.CellTemplate>
              <DataTemplate>
                     <Image Source="{Binding ItemImage, Converter={StaticResource ImageConverter}}" />
              </DataTemplate>
         </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    

请告诉我。如果我必须在步骤 1 中进行任何更改。

4

1 回答 1

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>

于 2013-10-03T09:57:48.843 回答