2013-03-24 2 views
2

DataGrid объявлено как этогоНабор динамических изображений в столбцы автогенерируемых в WPF DataGrid

<DataGrid x:Name="DgDirectories" 
        AutoGenerateColumns="True" /> 

Он динамически населенный используя DgDirectories.ItemSource свойство с IEnumerable моего объекта DTO. Этот объект содержит свойство byte [] с динамическим изображениями (не существует на HDD). Я хочу показать те изображения в сетке.

Я попытался преобразовать byte[] в BitmapImage и передать его с данными, но в любом случае сетка создает DataGridTextColumn для этих типов.

Вероятно, это можно сделать гораздо проще, но у меня есть небольшой опыт работы с WPF ... Пожалуйста, помогите мне, чтобы отобразить изображения в колонке

P.S .: Я новичок в WPF.

ответ

-1

Xaml код для динамического связывания имени пути

<DataGrid x:Name="dataGrid1" AutoGenerateColumns="False"> 
     <DataGrid.Columns> 
      <DataGridTemplateColumn> 
       <DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <Image Source="{Binding ImageFilePath}" /> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 
     </DataGrid.Columns> 
    </DataGrid> 

теперь просто начать свой код позади логики с Uri объекта реализованным с IEnumerable список путей к файлам ... Надеюсь, что это будет достаточно

+0

Чтобы быть пристанищем правда я Я пробовал ваш код - я смог переделать эту часть приложения, чтобы использовать datagrid с указанными столбцами. Но я считаю ваш пост ответом - надеюсь, эта работа :). Это работает, когда сетка будет содержать другие столбцы, а не datetime? – Cheburek

-1

Вы должны удалить autogeneratecolumn = true и указать столбцы, которые вы хотите отобразить. Это даст вам возможность указать таблицу данных столбца с изображением.

Смежные вопросы