animation - Animate WPF Drag Adorner movement -


in our application use adorner fake drag & drop. adorner doesn't follow mouse set specific coordinates on screen when mouse moves.

double xposlocation = (int)(dividerdistancexaxis * virtualposition) + yaxisdata.spacingleft; double yposlocation = calculatevaluetoyposition(virtualpriceofvehicle); dragadorner.updateposition(xposlocation - offsetx, yposlocation + offsety); 

this works fine far. code adorner jumps 1 location another. how supposed work nice have smooth movement transitions when adorner set new position.

can done? since see no position property guess not possible double-animation or that.

you have use dependencyproperty animation

public class dragadorner {     public point position     {         { return (point)getvalue(positionproperty); }         set { setvalue(positionproperty, value); }     }      // using dependencyproperty backing store positionproperty.  enables animation, styling, binding, etc...     public static readonly dependencyproperty positionproperty =         dependencyproperty.register("position", typeof(point), typeof(dragadorner), new uipropertymetadata(positionchanged));      private static void positionchanged(dependencyobject obj, dependencypropertychangedeventargs e)     {         updateposition(position);     } } 

then (not tested)

double xposlocation = (int)(dividerdistancexaxis * virtualposition) + yaxisdata.spacingleft; double yposlocation = calculatevaluetoyposition(virtualpriceofvehicle); point newlocation = new point(xposlocation, yposlocation);  pointanimation mypointanimation = new pointanimation(); mypointanimation.from = dragadorner.position; mypointanimation.to = newlocation; mypointanimation.duration = new duration(timespan.fromseconds(1));  storyboard mystoryboard = new storyboard(); mystoryboard.children.add(mypointanimation); storyboard.settargetname(mypointanimation, dragadorner.position); mystoryboard.begin(); 

Comments