Move or Drag a Control in WPF (Example) HD

24.06.2015
http://www.microsoft-programmierer.de/Details?d=997&a=9&f=129&l=0 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.

Похожие видео

Показать еще