If we have an optional render texture in UIElement, we set this render target as a canvas for its children before rendering, then we use this canvas to draw this UIElement itself. We can easily scale this UIElement, without caring about layout. Just like any window scaling animation you can see in desktop OS.
By introducing grid vertices as the structure of the canvas of UIElement, we can further deform it to achieve advanced animation effect.
We have to modify UI Batch implementation to achieve this.