Other - Page builder
A palette, a page and a bin. A block dragged from the palette is a copy (DropEffect="copy"): the
palette keeps it, and the page gets a new block where the line shows - before or after the block it is dropped
on, or at the end. A block of the page moves within it, or into the bin; the bin takes no palette block
(CanDropPredicate). One item type carries both: the kind of a new block, or the block itself.
The page holds 6 blocks at most: once it is full, the palette's CanDragPredicate answers
false - asked as the palette renders and again as a drag starts - so its blocks render
draggable="false" and leave the tab order until a block goes into the bin. With the keyboard,
Space on a palette block picks up a copy, and the arrows step through the places between the
page's blocks.
- Heading
- Text
- Image
- Button
Page: Heading 1, Text 1
2 of 6 blocks.