【发布时间】:2012-01-17 21:25:41
【问题描述】:
我有一个包含几列的数据网格。其中一列是 templateColumn,我想从我的资源中显示一个图像。这是 xaml:
<DataGrid AutoGenerateColumns="False" Height="415" HorizontalAlignment="Left" Margin="0,34,0,0" Name="dgLocalPlugins" VerticalAlignment="Top" Width="806" SelectionMode="Single" AlternatingRowBackground="#CDEBEBEB">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Enabled" Binding="{Binding Path=Enabled}" />
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" MinWidth="200" />
<DataGridTextColumn Header="Status" Binding="{Binding Path=Status}" />
<DataGridTextColumn Header="Version" Binding="{Binding Path=Version}" />
<DataGridHyperlinkColumn Header="Wiki" Binding="{Binding Path=WikiUrl}" MaxWidth="100" />
<DataGridTextColumn Header="Author" Binding="{Binding Path=Author}" />
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Path=Upgrade}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
这是填充数据网格绑定到的对象列表的代码的核心:
foreach (string path in osapdFiles)
{
if (!string.IsNullOrEmpty(path))
{
PluginDescription desc = PluginHelper.Deserialize(path);
desc.Upgrade = Properties.Resources.upgrade;
desc.Status = "Stopped";
desc.Enabled = false;
pluginList.Add(desc);
}
}
dgLocalPlugins.ItemsSource = pluginList;
当我在 desc.Upgrade 设置后调试并设置断点时,我可以看到那里有一些东西,但图像没有显示在数据网格中。我需要做什么才能显示图像?
【问题讨论】: