У меня есть холст WPF с некоторыми объектами Ellipse (отображаемыми в виде кругов). Каждый круг взят из экземпляра класса коллекции, который на самом деле является классом пользовательского шаблона отверстий. Каждый шаблон имеет определенное количество кругов, и каждый круг затем добавляется на холст с помощью итерации по коллекции с использованием приведенного ниже кода.
Итак, холст заполнен кучей кругов, и каждый круг принадлежит определенному экземпляру паттерна. Вы можете увидеть скриншот здесь: http://twitpic.com/1f2ci/full
Теперь я хочу добавить возможность щелкнуть по кругу на холсте и определить, к какой коллекции он принадлежит, чтобы затем выполнить дополнительную работу с выбранным узором, к которому принадлежит этот круг.
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);
}
}
}