2013-10-03 18 views
0

我想在XamDataGrid的一個字段中顯示圖像。 我擁有的圖像的路徑是我的Model中的一個屬性。我能夠使用正常的WPF DataGrid,但XamDataGrid面臨的問題,以顯示圖像。(見點2)在xamDataGrid中顯示圖像的BInding問題

  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.

+0

你說有一種方法可行,但在你的示例代碼中,你有兩個不同的'Binding'路徑,第一個缺少一個部分。請嘗試使用'XamDataGrid'中的工作示例中相同的'Binding'路徑,並返回並完成您的第一個代碼示例,如果仍然不起作用。 – Sheridan

+0

@Sheridan感謝您的編輯幫助。我已經嘗試了綁定,我已經在第2部分中使用。然後嘗試通過相對源代碼。實際上是第2部分(使用簡單的WPF DataGrid),我嘗試過僅用於實驗。我必須爲UI使用XamDataGrid。 – kamlendra

回答

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>