Salut,
Dans une application WPF, j'ai une fenêtre qui n'a pas de bordure ni de barre de titre. Pour que l'utilisateur puisse la déplacer, j'ai mis un TextBlock qui sert de barre de titre, et j'ai géré les évènements MouseDown, MouseMove, et MouseUp. Seulement voilà, la fenêtre ne se déplace pas du tout comme elle devrait, elle fait des grands déplacements dès que je bouge un peu la souris... Je ne comprends pas du tout pourquoi, j'ai implémenté mon truc comme je le fais d'habitude en WinForms (avec les adaptations liées au changement de framework), mais ça ne marche pas
Voilà mon code, je suppose que j'ai fait une erreur quelque part, mais je ne vois pas trop quoi...
Si vous avez une idée ça m'aiderait bien... merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #region Moving private double xstart; private double ystart; private bool isMoving = false; private void txtTitle_MouseDown(object sender, MouseButtonEventArgs e) { xstart = e.GetPosition(this).X; ystart = e.GetPosition(this).Y; isMoving = true; } private void txtTitle_MouseUp(object sender, MouseButtonEventArgs e) { isMoving = false; } private void txtTitle_MouseMove(object sender, MouseEventArgs e) { if (isMoving) { double dx = e.GetPosition(this).X - xstart; double dy = e.GetPosition(this).Y - ystart; Left += xstart; Top += ystart; } } #endregion
Tom
Partager