Take a look at the Kevin Moore AnimatingTilePanel . When elements are added or removed from the panel, the remaining elements are animated to get out of the way or take up left space. You would like to do something similar, with the exception of the StackPanel logic.
You want to approach the problem in two parts. The second is likely to be much simpler.
- Create a panel (not a control) that animates its child elements the way you want.
- Create a ListBox template that points to ItemsPanelTemplate , which uses your new panel instead of the default stack panel.
, , ListBox. ListBox ( Items ) , . Panel, .
, AnimatedLayoutPanel, , Silverlight.