Dans mon application, j'utilise des objets étiquetés. Maintenant, je voudrais réagir différemment non seulement sur l'objet qui est placé sur la surface, mais aussi sur l'élément sur lequel il est placé. Est-ce possible en quelque sorte? Je n'ai trouvé aucune information à ce sujet.Comment déterminer sur quel UIElement un objet étiqueté est placé?
0
A
Répondre
1
Oui, c'est possible. Merci de nous montrer votre code afin que nous puissions mieux vous aider.
Ce que vous cherchez est probablement Reflection. Saviez-vous que vous pouvez toujours vérifier si un objet est d'un certain type avec l'opérateur is
?
var tag = myDependencyObject.Tag;
if(myDependencyObject is CheckBox)
{
//...
}
else if(myDependencyObject is TextBox)
{
//...
}
Pour détecter un changement de Tag-propriété, écoutez l'événement DependencyPropertyChanged comme ceci:
DependencyPropertyDescriptor prop = DependencyPropertyDescriptor.FromProperty(
FrameworkElement.TagProperty,
typeof(FrameworkElement));
prop.AddValueChanged(aTaggedControl, this.YourEventHandlerMethod);
2
Vous pourriez faire un HitTest. Fondamentalement, vous obtenez le point par rapport à votre fenêtre et regardez quel élément de l'arbre visuel est touché. Aucun échantillon de code à portée de main, mais vous en trouverez beaucoup en utilisant HitTest et WPF sur google.
Questions connexes
- 1. Déterminer l'emplacement d'un UIElement sur un canevas
- 2. Déterminer quel objet Javascript est-ce?
- 3. .NET: Comment déterminer si un objet est un objet COM?
- 4. Comment déterminer si objet est un NSNumber
- 5. C# dans VS2005: déterminer quel type d'un objet est vraiment
- 6. Comment déterminer quel dijit.layout.AccordionPane est actuellement sélectionné
- 7. Comment puis-je déterminer si un div est placé en bas?
- 8. Comment déterminer si un objet Rails est marked_for_destruction?
- 9. Comment déterminer le sélecteur CSS sur un objet DOM?
- 10. Méthodes Python sur un objet - quel est le meilleur?
- 11. UserControl gonfle lorsqu'il est placé sur un formulaire?
- 12. comment se concentrer sur jbutton placé sur un autre jbutton?
- 13. Comment décrire un UIElement en Partial-Trust?
- 14. Comment déterminer quand un contrôle PropertyGrid est sur le point de modifier la propriété d'un objet
- 15. objective-c déterminer si le paramètre est un objet
- 16. Comment déterminer quel thread est créé à partir d'un autre?
- 17. Silverlight Faites glisser et déposez pour n'importe quel UIElement?
- 18. Comment définir DesiredSize.Width d'un UIElement?
- 19. Sélectionnez un UIElement WPF dans un FlowDocument
- 20. Qu'est-ce qu'un "DFA étiqueté"?
- 21. Silverlight, WPF. Comment déterminer est un contrôle situé sur l'autre?
- 22. Comment déterminer si un contrôle est activé sur une page?
- 23. WPF style Trigger sur l'étranger UIElement
- 24. Comment déterminer quel my.cnf mysql utilise
- 25. Comment déterminer quel valideur personnalisé va déclencher en premier
- 26. Comment vérifier si un objet est nul
- 27. Déterminer la page sur laquelle un objet est activé dans Reporting Services
- 28. Vérifiez quel UIElement la souris entre dans un événement MouseLeave dans Silverlight?
- 29. Est-il approprié de diffuser ContentPresenter.Content à UIElement?
- 30. Comment puis-je déterminer si quelque chose est un tableau ou un objet en PHP?
Ah oui ce n'est pas vraiment le problème. Je ne sais pas où attraper l'événement si un objet étiqueté a été ajouté. Je n'ai pas beaucoup de code, juste ajouté le TagVisualizer à mon layot principal. – RoflcoptrException
voir mon édition, HTH – Falcon