I've started by creating a Silverlight user control to represent a 3 octave (piano) keyboard:
This user control will use data binding (hopefully!) to highlight piano keys if they exists in user control's data context (which probably be a list of notes).
SHARE: