Existe-t-il un moyen d'obtenir directement l'objet Window sur lequel un contrôle est activé?WPF: Existe-t-il un moyen d'obtenir directement l'objet Window sur lequel un contrôle est activé?
Répondre
En supposant que le contrôle est directement sous la fenêtre, vous pouvez appeler GetParent sur LogicalTreeHelper.
Vous pouvez, bien sûr, utiliser le LogicalTreeHelper
pour traverser l'arborescence si le contrôle n'est pas un descendant direct.
Vous êtes probablement dans la fenêtre des applications actives au moment où vous interagissez avec le contrôle.
Donc, dans ce cas, cet autre poste sur stackoverflow pourrait être utile aussi:
Cela ressemble à ce qui serait très fragile pour mon cas d'utilisation, mais je vais vous donner un point, car il serait très utile lors de l'affichage d'une fenêtre pop-up avec l'ensemble CenterOwner. –
Un peu en retard, mais les travaux suivants assez bien pour moi.
var ownerWindow = Window.GetWindow(yourControl);
- 1. Comment déterminer si un contrôle est activé sur une page?
- 2. Centrer un contrôle WPF
- 3. Cela vaut-il la peine de corriger un système d'administration sur lequel REGISTER GLOBALS est activé?
- 4. WPF - Lequel est le meilleur? Style ou contrôle utilisateur?
- 5. Paramètre WPF sur un modèle de contrôle
- 6. WPF: Comment monter l'arbre Visual pour trouver un Model3DGroup sur lequel est cliqué un modèle 3D?
- 7. WPF Window Docking
- 8. WPF Fade Out sur un contrôle
- 9. WPF Window LocationChanged terminé
- 10. Silverlight, WPF. Comment déterminer est un contrôle situé sur l'autre?
- 11. LoadViewState non activé sur mon contrôle utilisateur
- 12. Vous voulez trouver le contrôle sur lequel la souris est placée dans wpf
- 13. Quel est le meilleur moyen de cataloguer un contrôle WPF dans un dataset typé?
- 14. WPF: Configuration correcte pour Window avec un contrôle utilisateur UserControl (MVVM)
- 15. Comment puis-je définir TabIndex sur un contrôle WPF Expander?
- 16. WPF Window Position
- 17. Est-il activé ou activé?
- 18. Affichage d'un contrôle ModalPopupExtender lorsqu'un contrôle UpdateProgress est activé
- 19. Existe-t-il un moyen de tester un contrôle désactivé?
- 20. vérifier si javascript est activé et afficher un message s'il n'utilise pas un contrôle personnalisé ASP
- 21. WPF: Liaison directe à un contrôle
- 22. Contrôle d'utilisateur .NET activé COM
- 23. Comment créer un CGlayer sur lequel une image est dessinée?
- 24. Redimensionner un contrôle dans WPF
- 25. Comment installer un raccourci sur le bureau (vers un fichier batch) à partir d'un programme d'installation basé sur WiX sur lequel "Exécuter en tant qu'administrateur" est activé?
- 26. Pourquoi un contrôle serait-il sur un thread différent de celui dans lequel je travaille?
- 27. Quelle est la meilleure façon d'afficher un indicateur « de chargement » sur un contrôle WPF
- 28. Il est possible d'exposer de nouveaux événements/propriétés dans un contrôle basé sur un modèle WPF?
- 29. WPF CommandBinding PAS sur l'élément de niveau supérieur/Window/this
- 30. WPF - Evénements sur un ControlTemplate?
C'est mieux que ce que j'ai actuellement, mais je suis un peu agacé qu'il n'y ait pas de méthode GetWindow. –