Je réalise un logiciel de dessin, et pour la gomme j'utilise ceci :
List<Rectangle> toRemove = new List<Rectangle>();
for (int x = 0; x < (EraserThickness / 2) - 10; x++)
{
foreach(UIElement uielement in Canvas_board_draw.Children)
{
if(uielement is Rectangle)
{
if((Mouse.GetPosition(Canvas_board_draw).X - Canvas.GetLeft(uielement)) - 10 < x && (Mouse.GetPosition(Canvas_board_draw).X - Canvas.GetLeft(uielement)) - 10 > x - 20
&& (Mouse.GetPosition(Canvas_board_draw).Y - Canvas.GetTop(uielement)) - 10 < x && (Mouse.GetPosition(Canvas_board_draw).Y - Canvas.GetTop(uielement)) - 10 > x - 20)
{
toRemove.Add(uielement as Rectangle);
}
}
}
}
toRemove.ForEach(r =>
{
Canvas_board_draw.Children.Remove(r);
});
Les Uielement "rectangle" sont les pixels sur le canvas.
Pour plus de déco, j'ai ajouté un UserControl représentant la gomme :
Le problème c'est que cette technique ne fonctionne pas bien et est très lente.
Alors voilà, est-ce que il y a moyen d'avoir la liste de tout les UIElement en dessous de mon UC pour pouvoir les supprimers, ou juste tout simplement un autre moyen
Merci
Supprimer tout les UIelement en dessous d'un UserC
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.