During design time, I think optimally the cube should just render the selected side. Being able to set the selected side property and see the transition and rendering of the new side would be optimal.
From a run-time business application perspective:
- I think the cube's value is more about being able to reuse screen space via multiple screens and being able to control (from code) which one is currently displayed. The spinning 3D cube is a cool demo but many clients don't think it's practical.
- The animated transitions from side to side are important as well.
- Providing the ability at run-time to show one or more sides with perspective is valuable in RIA business applications that are trying to maximize screen real estate. Would it be possible to show the selected side with 3D perspective (and smaller control height/width footprint). This achieves reduced screen space yet the user can continue to reference the content on the side.
- Limiting the sides to six just because its a cube, limits the control. Provide a collection of a side objects, each with corresponding properties (index, Name, BackgroundBrush, etc). Also, provide a collection of custom transition definitions from side to side to allow different transitions depending on the side navigated to. Both these could be implemented similar to the Grid's row/column definitions in a xaml block right after the radCube definition. If a definition is not explicitly defined in the xaml, default the values.