2013-07-05 3 views
0

Ниже приведена моя DataGrid xaml, которая привязана к источнику данных.Как установить изображение в качестве фона заголовка DataGrid?

<DataGrid AutoGenerateColumns="False" Height="240" Name="dtDemo" 
    ItemsSource="{Binding Path=LfdConnections}"> 
    <DataGrid.ColumnHeaderStyle> 
     <Style TargetType="{x:Type DataGridColumnHeader}"> 
      <Setter Property="FontWeight" Value="Bold" /> 
     </Style> 
    </DataGrid.ColumnHeaderStyle> 
    <DataGrid.Resources> 
     <ResourceDictionary> 
      <Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}"> 
       <Setter Property="Background" Value="Transparent" /> 
       <Setter Property="BorderBrush" Value="Transparent" /> 
       <Style.Triggers> 
        <Trigger Property="IsSelected" Value="True"> 
         <Setter Property="Background" Value="Transparent" /> 
         <Setter Property="BorderBrush" Value="Transparent" /> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
      <Style TargetType="{x:Type DataGridRow}"> 
       <Setter Property="Background" Value="Transparent" /> 
       <Setter Property="BorderBrush" Value="Transparent" /> 
       <Style.Triggers> 
        <Trigger Property="IsSelected" Value="True"> 
         <Setter Property="Background" Value="Transparent" /> 
         <Setter Property="BorderBrush" Value="Transparent" /> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </ResourceDictionary> 
    </DataGrid.Resources> 
    <DataGrid.Columns> 
     <DataGridTemplateColumn Header="Monitor" Width="55" IsReadOnly="True"> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Label Content="{Binding Path=MonitorName}" Height="28" Name="lblMonitorName" /> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
     <DataGridTemplateColumn Header="Connection" Width="70" IsReadOnly="True"> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <ComboBox ItemsSource="{Binding Path=ConnTypes,Mode=OneTime, UpdateSourceTrigger=PropertyChanged}" SelectedIndex="0"> 
        </ComboBox> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
     <DataGridTemplateColumn Header="Port/IP" Width="70" IsReadOnly="True"> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <ComboBox ItemsSource="{Binding Path=PortTypes,Mode=OneTime, UpdateSourceTrigger=PropertyChanged}" 
               SelectedIndex="0"/> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
     <DataGridTemplateColumn Header="ID" Width="50" IsReadOnly="True"> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <ComboBox ItemsSource="{Binding Path=LfdIds,Mode=OneTime, UpdateSourceTrigger=PropertyChanged}" 
               SelectedIndex="0"/> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
     <DataGridTemplateColumn Header="Source" Width="130" IsReadOnly="True"> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <ComboBox ItemsSource="{Binding Path=SourceTypes,Mode=OneTime, UpdateSourceTrigger=PropertyChanged}" 
               SelectedIndex="0"/> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
     <DataGridTemplateColumn Header="Connect" Width="*" IsReadOnly="True"> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Button Content="Connect" Height="23" Name="btnConnect" Width="75" /> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
    </DataGrid.Columns> 
</DataGrid> 

Я хочу добавить image в качестве заголовка столбца в этом DataGrid. Не могли бы вы рассказать, как это сделать?

+0

вы хотите установить изображение в качестве фона или добавить в качестве части заголовка? – dkozl

+0

Вы должны создать шаблон DataGridColumnHeader в соответствии с вашими потребностями. Либо вы можете искать стиль шаблона на веб-сайте msdn, либо попытаться использовать Expression Blend, чтобы получить его. – Santux

+0

@dkozl Я хочу, чтобы изображение в качестве фона. – Narendra

ответ

0

Пожалуйста, попробуйте ниже фрагмент кода

<DataGridTemplateColumn> 
    <DataGridTemplateColumn.Header> 
     <Grid> 
     <Image Source="C:\Users\Vimal\Desktop\1.jpg" /> 
     <TextBlock Text="Monitor" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
     </Grid> 
    </DataGridTemplateColumn.Header> 
</DataGridTemplateColumn> 
Смежные вопросы