2009-11-26 6 views
0

Je fais quelque chose dans wpf où une grille de données est remplie. J'ai besoin de cela pour chaque ligne de la grille de données, quand je pointe ma souris, une infobulle devrait être visible et contenir une image. Et cette image sera différente pour chaque ligne de la grille de données. Comment je vais à ce sujet. Je suis en mesure de le faire:image différente comme info-bulle pour différentes lignes d'une grille de données dans wpf

Image img = new Image(); 
     BitmapImage bmp = new BitmapImage(); 
     bmp.BeginInit(); 
     bmp.UriSource = new Uri(Directory.GetCurrentDirectory()+ "\\Kartik.JPG"); 
     bmp.DecodePixelHeight=200; 
     bmp.DecodePixelWidth=200; 
     bmp.EndInit(); 
     img.Source=bmp; 
     ToolTipService.SetPlacement(dgAssortment, System.Windows.Controls.Primitives.PlacementMode.Center); 
     ToolTipService.SetToolTip(dgAssortment, img); 
     ToolTipService.SetShowDuration(dgAssortment, 99999999); 

Mais cela montre la même image pour l'ensemble DataGrid, quelle que soit la ligne que je garde mon pointeur de la souris sur. Comment puis-je rendre cette image différente pour chaque ligne remplie dans le DataGrid. S'il vous plaît aider. Merci d'avance.

Répondre

0

On dirait que vous configurez l'info-bulle pour l'ensemble DataGrid:

ToolTipService.SetPlacement(dgAssortment, (je suppose dgAssortment est votre DataGrid).

Vous devez effectuer cette opération pour chaque ligne, soit en effectuant une boucle manuellement, soit en vous connectant à un événement déclenché lors de la liaison de données. Dans VS 2010 Beta 2, le DataGrid WPF a un événement LoadingRow que vous pourriez être en mesure d'utiliser.

Questions connexes