我有一个对象列表。 每个对象都有一个名为“ext”的属性,用于表示文件类型。 (PDF,CSV等) 以编程方式将datagrid的itemsource绑定到对象集合之前,我使用datagridtemplatecolumn对象动态创建datagrid列。Silverlight Datagrid:根据对象的属性字符串动态绑定到图像源?
我有一个DataTemplate资源,基本上是图像:
<DataTemplate x:Key="imageThumb">
<Image x:Name="docImage" Width="25" Height="25" Source="/MyApp;component/images/pdf-icon.png">
<Image.Effect>
<DropShadowEffect ShadowDepth="1" BlurRadius="1" Opacity="0.5"/>
</Image.Effect>
</Image>
</DataTemplate>
然后在我后面的代码,而动态创建DataGrid的模板列:
DataTemplate imageTemplate = (DataTemplate)this.Resources["imageThumb"];
DataGridTemplateColumn docType = new DataGridTemplateColumn();
docType.Header = "Doc Type";
docType.CellTemplate = imageTemplate;
targetDataGrid.Columns.Add(docType);
当我简单地设置这样的细胞datagridtemplate列的模板都很好,但很显然,每一行在列中都有一个PDF图标。 我想动态改变这个形象”的基础上绑定到DataGrid行对象的扩展属性的源路径。
有没有办法做到这一点?
如果您包含其他列的模板之一,这将有助于获得更好的答案,以便我们可以看到您如何绑定数据,或者代码是否在代码中执行。 – hatchet