Partage
  • Partager sur Facebook
  • Partager sur Twitter

Supprimer tout les UIelement en dessous d'un UserC

    30 janvier 2021 à 18:51:23

    Bonjour !

    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 : enter image description here

    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

    • Partager sur Facebook
    • Partager sur Twitter

    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.
    • Editeur
    • Markdown