ObservableCollection en tant que DependencyProperty

Je suis la création d'une application dans laquelle une liste d'objets devraient être interceptées et traduits avant d'être affichés sur un groupe de contrôles. À cette fin, j'ai créé une DependencyProperty de type ObservableCollection (BackupEntry être une classe personnalisée définir l'information sur une base de données). Ce que je veux, c'est que le contrôle est lié à une ObservableCollection dans un MVVM. Cette collection pourrait être utilisé pour d'abord charger le contrôle. Ensuite, lorsqu'une entrée est ajoutée via l'interface de contrôle, il doit être ajouté à l'intérieur ObservableCollection qui est défini comme une DependencyProperty et de montrer dans la collection de l'MVVM puisqu'ils sont liés. Voici le code que j'utilise:

protected ObservableCollection<BackupEntry> _BackupItems = new ObservableCollection<BackupEntry>();

public static readonly DependencyProperty BackupItemsProperty = DependencyProperty.Register("BackupItems", typeof(ObservableCollection<BackupEntry>), typeof(ExplorerWindow));

public ObservableCollection<BackupEntry> BackupItems
{
    get { return (ObservableCollection<BackupEntry>)GetValue(BackupItemsProperty); }
    set { SetValue(BackupItemsProperty, value); }
}

public ExplorerWindow()
{
    DefaultStyleKeyProperty.OverrideMetadata(typeof(ExplorerWindow), new FrameworkPropertyMetadata(typeof(ExplorerWindow)));
    SetValue(BackupItemsProperty, _BackupItems);
    _BackupItems.CollectionChanged += new NotifyCollectionChangedEventHandler(BackupItems_CollectionChanged);
}

void BackupItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
    throw new NotImplementedException();
}

Et dans l'application de test:

<my:ExplorerWindow Name="ew" HorizontalAlignment="Left" VerticalAlignment="Top" Width="503" Height="223" BackupItems="{Binding BackupListItems}" />

J'ai créé un bouton sur l'écran de mon application de test. Lorsqu'il est cliqué, un élément est ajouté à BackupListItems. BackupItems_CollectionChanged n'est jamais appelé et le nouvel élément ne s'affiche pas dans ma collection dans mon contrôle. Suis-je totalement hors piste ici? Que dois-je faire pour obtenir ce travail?

source d'informationauteur Dirk Dastardly