0

I've tried to show an image within datagrid's column but I don't know how to do it. Someone can help me?

This is .xaml of my datagrid.

Thanks in advance.

       <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>
MirlvsMaximvs
  • 1,453
  • 1
  • 24
  • 34

1 Answers1

1

Perhaps the easiest way of adding an image to a Silverlight DataGrid column header is by setting the ContentTemplate using a header style:

<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>

You'll need to add the following namespace declaration for the above to work:

xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"

See Adam Kinney and Lars Holm Jensen's answers to this question.

Community
  • 1
  • 1
Luke Woodward
  • 63,336
  • 16
  • 89
  • 104