MindFusion.Scheduling for Silverlight Programmer's Guide
User Interaction

Item Modification

Items in ActivityChart and ResourceChart can be modified interactively by the user. This can be done either through the mouse or the keyboard. Four major operations are supported - moving the item, resizing its start or end, and adjusting the item's progress. To move an item click within the item's presenter and drag. To resize the item click near the left or right edge of the item's presented and drag. In ActivityChart make sure the mouse is not positioned over one of the item anchors or instead of resizing the item, new dependency creation will be initiated. To modify the item progress click at the right side of the progress bar and drag. An alternative way to modify an item is by activating the item and using the keyboard arrow keys to move or resize the item.

Events

When an item is modified interactively certain events are raised depending on the view. In ActivityChart the events are ActivityModifying, ActivityModified and ActivityClicked. In ResourceChart the events are AllocationModifying, AllocationModified and AllocationClicked.

Snapping

Snapping is the process of adjusting the modified item property to a round value. For example when an item is moved, it can be automatically aligned (snapped) to the nearest day or hour, depending on the resolution of the view.

Snapping can be enabled through the IsSnappingEnabled property. The number of snapping points can be specified through the SnappingPointCount property. For example, if this property is set to 4, and the current view resolution is 1 day, snapping will occur at 0h, 8h, 16h and 24h of each day.

Cursors

Various interaction cursors can be customized through the ItemLeftResizeCursor, ItemRightResizeCursor and ItemProgressResizeCursor of the BaseChart class.

Dependency Creation

Dependencies can be created interactively in the ActivityChart by pointing to the source activity then clicking on one of the two anchors at its start or end (depending on the type of dependency that needs to be created) and dragging with the mouse to the target activity. The type of the newly created dependency depends on the source anchor and the drop location. An alternative to create dependency interactively is to click on an activity and drag vertically.

Events

When a dependency is created interactively, the DependencyCreated event is raised.

Cursors

Various interaction cursors can be customized through the DependencyAnchorCursor and DependencyConnectionCursor of the ActivityChart class.

Miscellaneous

Undo/Redo

Interactive modifications are subject to undo/redo if UndoEnabled is set to true. For more information about this, check Undo and Redo.

Popups

During interactive modification of items, popups are displayed if the ShowPopups property is set to true. For information how to customize these popups, check Popups.

Drill In/Drill Out

ActivityChart and ResourceChart can show different time resolution for the items in their ScheduleGrid - ActivityPresenter and AllocationPresenter respectively. Interactive drilling in/out is done by holding CTRL key and either using the mouse scroll wheel or holding down the mouse left button on the TimelineHeader and moving along the Y-axis. An alternative is to double click a DateTime cell in the TimelineHeader to increase the resolution, effectively zooming in.