Hi Bi Chao,
RadDiagram has internal events, hit-test services and resizing service which make the resizing of its shapes possible. So that's why you cannot resize a shape outside the RadDiagram.
Could you please elaborate more on your canvas? What features do you need in the Diagram which your canvas provides?
the Telerik team