Comment puis-je vérifier si 2 contrôles se superposent aux autres sur une toile en WPF?
Je suis en train d'écrire un concepteur qui permet à l'utilisateur de faire glisser des contrôles autour de l'écran.
Quel serait le meilleur moyen de détecter si un contrôle est superposée à une autre de contrôle alors que je suis glisser un contrôle?
Devrais-je obtenir les dimensions de la FrameworkElement et continuez à vérifier les dimensions des autres éléments?
Grâce.
Eli
Voulez-vous savoir si la délimitation des rectangles se chevauchent, ou les zones visibles? Par exemple, deux des points de suspension pourrait avoir cumul de délimitation des rectangles, mais les ellipses pourrait même ne pas être toucher.
OriginalL'auteur Eli Perpinyal | 2009-10-12
Vous devez vous connecter pour publier un commentaire.
La dimension (FrameworkElement.ActualWidth FrameworkElement.ActualHeight) et la position (de la Toile.Haut, De La Toile.Fond,Toile.À Gauche, Toile.Droite) de vos éléments suffirait si ils sont toujours rectangulaires. Dans ce cas, vous pouvez facilement calculer si deux rectangles se chevauchent. Si vous les éléments peuvent être des formes plus complexes, il devient poilu. Je n'ai aucune idée si je peux le tester pour l'intersection de deux Visuels instances en WPF.
Peut-être que nous pouvons utiliser hittesting? Avec cette approche, vous pourriez au moins tester si un certain point ou la géométrie se croisent avec un certian visuelle. Donc, vous devez définir une géométrie ou une liste de points plus ou moins correspondre les limites de votre 2ème visuel.
OriginalL'auteur bitbonk
Vous pouvez utiliser le
Rect.IntersectsWith
méthodeTks Den! J'étais à la recherche de ce pour WinRT.
OriginalL'auteur Thomas Levesque