我试图在datagrid的列中显示图像,但我不知道该怎么做。 有人可以帮帮我吗?
这是我的datagrid的.xaml。
提前致谢。
<sdk:DataGrid IsReadOnly="True" Height="150" Grid.ColumnSpan="7"
x:Name="dgElementosAfectados"
ItemsSource="{Binding ElementosAfectados, Mode=TwoWay}"
Grid.Row="0" AutoGenerateColumns="False"
SelectionMode="Single" ColumnWidth="Auto" SelectionChanged="dgElementosAfectados_SelectionChanged">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.Header>
<DataTemplate>
<Image Source="/MonitorizacionIncidencias;component/CustomResources/body_bg.png" />
</DataTemplate>
</sdk:DataGridTemplateColumn.Header>
<!--<DataTemplate>
<Image Source="/MonitorizacionIncidencias;component/CustomResources/body_bg.png" Stretch="None" />
</DataTemplate>-->
<sdk:DataGridTemplateColumn.CellEditingTemplate >
<DataTemplate>
<Image Source="{Binding Estado.ID, Converter={StaticResource statusConv}}" Width="17" Height="17"></Image>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
答案 0 :(得分:1)
将图像添加到Silverlight DataGrid列标题的最简单方法可能是使用标题样式设置ContentTemplate
:
<sdk:DataGridTemplateColumn.HeaderStyle>
<Style TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Source="/MonitorizacionIncidencias;component/CustomResources/body_bg.png" Stretch="None" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</sdk:DataGridTemplateColumn.HeaderStyle>
您需要为上述内容添加以下命名空间声明:
xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
参见Adam Kinney和Lars Holm Jensen对this question的回答。