【问题标题】:SILVERLIGHT how can I show an image inside a column header datagrid when there is DataGridTemplateColumn当有 DataGridTemplateColumn 时,SILVERLIGHT 如何在列标题数据网格中显示图像
【发布时间】:2012-07-13 09:56:58
【问题描述】:

我尝试在 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>

【问题讨论】:

    标签: silverlight


    【解决方案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 的回答。

    【讨论】:

    • 谢谢。这非常有用。
    猜你喜欢
    • 1970-01-01
    • 2011-10-25
    • 2016-09-16
    • 2021-11-05
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    相关资源
    最近更新 更多