Negative values are permitted. A negative value places the origin of the object where Canvas.Left is applied off-screen to the left side of the content area.
This property is an example of an attached property syntax, whereby non-Canvas objects can set this property that can then be read and interpreted by a parent Canvas.
The value is interpreted by any immediate parent Canvas. If there are nested Canvas objects, values for Canvas.Left that do not come from immediate child elements are ignored. A Canvas can itself have a Canvas.Left value, but the value does not apply on itself, rather it is interpreted by any parent Canvas, as in the nested scenario mentioned.