J'ai un canevas WPF avec des objets Ellipse (affichés sous forme de cercles). Chaque cercle provient d'une instance de classe de collection qui est en fait une classe de modèle de trou personnalisé. Chaque motif a un certain nombre de cercles, et chaque cercle est ensuite ajouté à la toile en utilisant une itération sur la collection en utilisant le code ci-dessous. Par conséquent, le canevas est rempli d'un groupe de cercles et chaque cercle appartient à une instance de motif donnée. Vous pouvez voir une capture d'écran ici: http://twitpic.com/1f2ci/fullSélection d'un objet sur un canevas WPF?
Maintenant, je veux ajouter la possibilité de cliquer sur un cercle sur la toile, et être en mesure de déterminer la collection à laquelle elle appartient, de sorte que je puisse alors faire un peu plus de travail sur le motif sélectionné auquel appartient ce cercle.
public void DrawHoles()
{
// Iterate over each HolePattern in the HolePatterns collection...
foreach (HolePattern HolePattern in HolePatterns)
{
// Now iterate over each Hole in the HoleList of the current HolePattern...
// This code adds the HoleEntity, HoleDecorator, and HoleLabel to the canvas
foreach (Hole Hole in HolePattern.HoleList)
{
Hole.CanvasX = SketchX0 + (Hole.AbsX * _ZoomScale);
Hole.CanvasY = SketchY0 - (Hole.AbsY * _ZoomScale);
canvas1.Children.Add(Hole.HoleEntity);
}
}
}
Aide génial ... vous m'avez commencé et m'a ouvert les yeux. Avec vos instructions, j'ai assigné le trou à l'Ellipse.Tag, puis sur la classe Hole, j'ai une référence au HolePattern auquel appartient le Hole. Cela me permet d'escalader l'arbre de trou au besoin. Ce site est génial! – MattSlay