Datagrid模板列中对象的图像

时间:2011-10-11 18:40:01

标签: 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 个答案:

答案 0 :(得分:1)

您应该在模型中公开的对象类型应该是ImageSource派生的对象类型,例如BitmapImage

Image类是显示ImageSource的元素,您无法将Image的实例分配给另一个Source的{​​{1}}属性