J'ai un projet wpf qui utilise des fenêtres transparentes et je partage ce style de fenêtre transparente pour mes fenêtres de dialogue et mes mainwindow
.wpf - transparent MainWindow et problèmes avec DragMove "Peut seulement appeler DragMove lorsque le bouton principal de la souris est enfoncé."
Je reçois une erreur sur mon DragMove()
événement de mon MainWindow
APRES Je ferme une boîte de dialogue qui utilise le même style de fenêtre. Pour rendre encore plus étrange cette exception se produit uniquement lorsque je gère un événement mouseleftbutton
sur une étiquette dans mon Status Bar
sur le MainWindow
. SI j'échange l'étiquette pour un bouton et remplace le mouseleftbuttondown
avec un événement click
je ne reçois pas l'erreur.
La chose étrange est que la fenêtre de dialogue qui apparaît n'implémente pas dragmove
, et je ne fais pas glisser mon mainwindow
non plus. D'une manière ou d'une autre, dragmove
est appelé après que mon exécution de code soit revenue au mainwindow
après un appel showdialog()
.
Une solution facile pour moi actuellement est d'échanger mon étiquette pour un bouton et de câbler l'événement de clic à la place.
Cependant, je suis plus intéressé à connaître les causes de ce problème et pourquoi un événement click fonctionne mais que la souris échoue lamentablement.
Mon "StatusBar" est simplement un stackpanel
avec des étiquettes et d'autres panneaux de pile (qui contiennent plus d'étiquettes).
Est-ce que quelqu'un d'autre a déjà combattu ce problème? Aurais-je besoin d'implémenter une sorte de substitution de gestionnaire d'événements mouseclick
afin que je puisse capturer et annuler cette exception de se produire?
Le code de repro peut être fourni si nécessaire. J'ai eu assez de hits sur dragmove
ici, donc j'espère que c'est un facile pour quelqu'un là-bas.
Merci d'avance pour toute aide!
C'est un bon lien, mais cela n'a rien à voir avec mon problème ici. J'ai eu une bulle en fuite qui a tout chamboulé. Mon dialogue qui est apparu n'a même pas implémenté dragmove donc il n'y avait aucun moyen de le faire glisser. – TWood