Move or Drag a Control in WPF (Example)

preview_player
Показать описание

WPF,C#: Bewegen eines Controls in einem wpf Formular

Aufgabe: ich möchte mit der Maus eine Textbox auf meinem WPF Formular, meiner WPF Anwendung bewegen.

Lösung: man kann ein Control auf einem WPF Fenster bewegen, indem man die 4-Margin-Werte des Controls zur Laufzeit anpasst.
Hierzu muss man zur Laufzeit berechnen, wie groß die Abstände zur oberen Kante, dem linken Rand, dem rechten Rand und zum unteren Rand sind.


Vereinfacht kann man sagen.
Der Obere Rand (TopMargin) ist durch die Mausposition Y gegeben, gegenüber dem Grid gerechnet, minus dem kleinen Abstand des Punktes wo man im Control selbst draufklickt.
Der untere Rand (BottomMargin) ist die aktuelle Windows-Höhe minus dem Fenster Rand und der Höhe des Fenster-Titels und minus dem oberen Rand und der eigentlichen Control-Höhe.

Zur Laufzeit sieht das dann so aus, wobei das gelbe Feld bewegt werden kann mit der Maus

Dann muß man diesen Margin nur noch dem Control während der Maus-Bewegung zuweisen und schon bewegt sich das Control.

Hier ein einfacher Code: (ein paar kleine Fehler oder Ungenauigkeiten sind noch drin, wie die Korrektur des Offset innerhalb des bewegenden Textbox Controls, aber als Grundgerüst zum Programmieren reicht es aus.
Рекомендации по теме
Комментарии
Автор

Why is too much dislikes? Everything is clear here

iAndrewMontanai
Автор

2 Tipps vielleicht:
- mehr Details erklären, einen Plan haben wo man wann was erklären möchte
- sprachlich nicht Richtung englisch orientieren; wenn "margin" wie "marching" klingt, dann sollte man auf das vermeintlich mehr Viewer erreichende Englisch verzichten.
Ansonsten eigentlich recht gut...nur...Dude! Das Ende vom Video??? WTF??? Das geht gar nicht, sorry!

shaihulud
Автор

The actual functionality is there, but the video itself is very pool. Your description is very slow and your English terrible. I'm sorry - mixed feelings. Not a like and not a dislike either.

v.j.smejkal
Автор

Wenn man schlecht Englisch spricht, dann sollte man bei der deutschen Sprache bleiben. Furchtbar da zuzuhören...

dernordischegott
join shbcf.ru