WPF - la Liaison à une ObservableCollection Propriété de Dépendance au sein d'un UserControl

J'ai un contrôle

classe DragGrid : Grille
{
...
}

qui hérite de la grille d'origine et permet de glisser et redimensionner ses éléments enfants.
J'ai besoin de lier une coutume DP nommé WorkItemsProperty à une collection observable de type WorkItem (implémente INotifyPropertyChanged). Chaque élément de la grille est liée à un point de collecte.

Chaque fois que l'utilisateur ajoute un nouvel élément dynamiquement à l'exécution (les éléments ne peuvent pas être déclarées dans le code XAML!), ou supprime un élément de cette collection, la WorkItems DP sur le DragGrid doit être mis à jour, et les enfants dans la grille (où chaque enfant représente un WorkItem élément de la collection).

Ma question est comment le DP aviser le contrôle sur les enfants de l'élément de la grille doit être retiré, changé ("changement" signifie que l'utilisateur a traîné un élément, ou redimensionnée avec la souris) ou ajouté, et comment puis-je identifier l'un des enfants est celui qui doit être supprimé ou modifié.
Je comprends que c'est là que le DependencyPropertyChangedCallback. Mais qui sera appelée lorsque le DP propriété est définie de nouveau, non pas quand quelque chose à l'intérieur de la collection des changements (comme ajouter, supprimer l'élément). Donc en fin de compte, ne le DragGrid de contrôle en quelque sorte besoin de s'abonner à l'événement CollectionChanged? À quel point serait-je brancher le gestionnaire d'événement pour qui?

*EDIT::
La raison de l'utilisation d'une Grille en premier lieu, parce que je veux être en mesure de maintenir un minimum de delta pour lorsque l'utilisateur fait glisser ou redimensionne le contrôle dans la Grille. Un contrôle représente un laps de temps, et chaque colonne de la grille représente 15min (qui est la valeur minimale). Faire cela dans un Canevas avec les Pouces a été difficile et le buggy. Mise en œuvre d'un DragGrid résolu mon interaction de l'utilisateur des problèmes. Aussi, une Toile n'est pas extensible, donc le temps de travées ont recalculé tous les temps. Avec la Grille, je n'ai pas le problème, car les colonnes dites-moi le temps, peu importe la taille.**

OriginalL'auteur John | 2010-05-05