Aracılığıyla paylaş


Correctly parenting new and existing elements in EID

In a previous post [1] we talked about creating a new element by double-clicking in the Library palette (View > Library), and how to indicate the new element's intended parent.

The other way to create a new element is to select the element type in the Library palette and then draw it onto the artboard. When drawing, the parenting rules are different. If a container element is selected and the mouse down gesture of the draw happens inside its bounds, then the selected container becomes the parent. Otherwise the activated element becomes the parent.

That covers how new elements are parented. But what about dragging an existing element to another parent? In Windows Forms, when you drag an element to a new location the design surface re-parents the element inside the front-most container at the mouse pointer. Expression Interactive Designer doesn't assume that you wish to re-parent an element when you drag it to a new position. This is mainly due to (partially) transparent elements. I may want to drag an element from one cell of a Grid to another cell which happens to be behind part of a Canvas with an opacity mask. In this case I don't want to have my element re-parented just because the Canvas is in front of the Grid, and EID leaves the element under its current parent (at the new position) unless I indicate otherwise. Whenever I drag an element into the boundary of a candidate parent container, EID offers the tip: Alt-drag to place into [container_type] . Only if I hold down ALT while completing the drag is the element re-parented.

[1] https://blogs.msdn.com/expression/archive/2006/01/29/518986.aspx