Изображение из объекта в столбце шаблона Datagrid

#silverlight #datagrid #datagridtemplatecolumn

#silverlight #datagrid #datagridtemplatecolumn

Вопрос:

Я пытаюсь отобразить изображение в моей сетке данных в столбце шаблона, код:

 <data:DataGridTemplateColumn Header="" x:Name="colPriority">
   <data:DataGridTemplateColumn.CellTemplate>
         <DataTemplate>
            <Border BorderBrush="Black" Background="{Binding TimeMarker.TimeMarkerBrush}" BorderThickness="1" Width="38" ToolTipService.ToolTip="{Binding Path=TimeMarker.TimeMarkerName, StringFormat='Priority: {0}'}">
               <Image
                     Source="{Binding ImageFlag}"
                     ToolTipService.ToolTip="{Binding TaskFlagStatus}" 
                     Height="32" 
                     Width="32" 
                     Margin="3"/>
           </Border> 
        </DataTemplate>
  </data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
  

‘ImageFlag’ — это свойство типа ‘image’ в моем объекте. Проблема в том, что он не отображается. Когда я меняю источник в xaml на относительный URI изображения, оно отображается нормально, но оно не отображает изображение, которое хранится в свойстве ‘ImageFlag’ моего объекта. Почему?

Ответ №1:

Тип объекта, который вы должны отображать в своей модели, должен быть производным от ImageSource такого, как BitmapImage .

Image Класс — это элемент, который отображает ImageSource , вы не можете присвоить экземпляр Image Source свойству другого Image .

Комментарии:

1. Ну, когда вы так говорите … теперь я чувствую себя болваном!