Comment ajouter une info-bulle d'un datagrid en-tête, où le texte d'en-tête est généré dynamiquement?
J'ai besoin d'ajouter une info-bulle d'un en-tête de colonne d'un DataGrid
(Silverlight 4). Je vais générer le nombre de colonnes et de l'en-tête de colonne de texte de façon dynamique.
GridColumnCreation(....)
{
IEnumerable allHeaderText = /* Linq query */;
}
Comment utiliser cette collection pour définir une info-bulle?
Vous devez vous connecter pour publier un commentaire.
Cela peut être fait en utilisant DataGridTextColumn & DataGridTextColumn.HeaderStyle. Dans le headerstyle tag, utilisez le ToolTipService et de lier le contenu de la dynamique des valeurs générées. Voici un exemple de code pour cette...
où Custdetails.. est quelque chose comme cela..
De liaison de données...
Ce serait d'afficher l'en-tête des info-bulles... Pour la rendre dynamique.. Remplacer le Contenu de l'info-bulle avec la Liaison & la valeur désirée...
Cela peut être fait même, plus simplement, que dans @Farukh réponse:
Ou, si vous avez besoin de faire dans le code:
<Style TargetType="DataGridColumnHeader" BasedOn={StaticResource MyHeaderStyle}">
Au cas où ça pourrait aider quelqu'un. Il fonctionne lors de l'utilisation de TooTip propriété.
Si vous ne souhaitez pas créer un nouveau style pour l'en-Tête, il suffit d'ajouter un TextBlock pour votre en-tête de colonne et de définir l'info-bulle sur elle.