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
Post a Comment