assign registration points on objects to rotate around, resize from, etc.


In Silverlight and WPF, you set Left and Top properties to position an object. However, it's often more intuitive to think about positioning an object by its center, rotating around its center... or by another point. Being constrained to (Left, Top) coordinates means that a lot of repetitive math must be used to center objects or otherwise align them differently (i.e., Container.Width / 2.0 - Element.Width / 2.0). When a resize animation executes, the top-left corner is fixed, but you may want to fix the center or right-bottom corner instead. When you rotate an object, you may want to rotate around the center or a point completely outside of that object.
Assigning registration points to objects would allow them to be moved or rotated around points that make more sense for the application being developed.
It's conceivable that you may want different registration points for rotation vs. positioning vs. ..., and you may want to set a default registration point for all future rotations, but then later use a temporary registration point for a one-time animation. These scenarios should all be supported.