Questa operazione può essere eseguita utilizzando DataGridTextColumn & DataGridTextColumn.HeaderStyle. Nel tag headerstyle, utilizzare ToolTipService e associare il contenuto ai valori dinamici generati. Ecco un codice di esempio per questo ...
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="First Name" Binding="{Binding FName}" >
<data:DataGridTextColumn.HeaderStyle>
<Style TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ContentControl Content="{Binding}">
<ToolTipService.ToolTip>
<ToolTip Content="Tooltip First" />
</ToolTipService.ToolTip>
</ContentControl>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</data:DataGridTextColumn.HeaderStyle>
</data:DataGridTextColumn>
<data:DataGridTextColumn Header="Last Name" Binding="{Binding LName}">
<data:DataGridTextColumn.HeaderStyle>
<Style TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ContentControl Content="{Binding}">
<ToolTipService.ToolTip>
<ToolTip Content="Tooltip Second"></ToolTip>
</ToolTipService.ToolTip>
</ContentControl>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</data:DataGridTextColumn.HeaderStyle>
</data:DataGridTextColumn>
<data:DataGridTextColumn Header="City" Binding="{Binding City}">
<data:DataGridTextColumn.HeaderStyle>
<Style TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ContentControl Content="{Binding}">
<ToolTipService.ToolTip>
<ToolTip Content="Tooltip Third"></ToolTip>
</ToolTipService.ToolTip>
</ContentControl>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</data:DataGridTextColumn.HeaderStyle>
</data:DataGridTextColumn>
</data:DataGrid.Columns>
</data:DataGrid>
</Grid>
dove Custdetails .. è qualcosa di simile ..
class Customer
{
public string LName { set; get; }
public string FName { set; get; }
public string City { set; get; }
}
DataBinding ...
List<Customer> customers = new List<Customer>
{
new Customer { LName="Alan", FName="Ameen", City="New York" },
new Customer { LName="Forgeard", FName="Steven", City="Mumbai" },
new Customer { LName="Angur", FName="Paul", City="São Paulo" }
};
dgCustDetails.ItemsSource = customers;
Questo visualizzerebbe i tooltips dell'header ... Per renderlo dinamico .. Sostituisci il Contenuto ToolTip con Bindin g & il valore desiderato ...
Questo mi ha aiutato, ma sembra sovrascrivere lo stile esistente per le intestazioni di colonna. Come posso ottenere lo stile predefinito per un oggetto DataGridColumnHeader e impostare il mio stile su di esso? – Marlon
In realtà, ho già alcune definizioni di intestazione nel modello DataGrid, quando applico lo stile sull'intestazione sembra che ignori tutte le proprietà di stile definite dalla griglia. – Marlon
Hai provato a impostare la proprietà BasedOn dello stile sul tuo stile personalizzato? Per esempio. '