Question

J'ai une fenêtre parent qui a un listView qui est lié à une collection d'observation qui obtient ses données d'un fichier XML. Dans la fenêtre parent, j'ai un bouton d'ajout qui ouvre une fenêtre modale (form2.showDialog (), je pense que c'est une fenêtre modale).

Dans la fenêtre enfant, j'ai quelques champs de texte et un bouton ADD, l'utilisateur entre les données pour un nouvel enregistrement et clique sur le bouton Ajouter et le fichier XML est mis à jour avec le nouvel enregistrement.

Ce que je cherche à faire, c'est lorsque la fenêtre enfant est fermée, la liste de la fenêtre parent est actualisée pour afficher le nouvel enregistrement.

Lorsque je mets à jour le fichier XML à partir de la fenêtre Child, je le fais directement au fichier XML, dois-je ajouter les données au fichier d'une autre manière qui augmenterait un événement sur l'observableCollection?

Je descendais sur le chemin de l'ajout d'un gestionnaire d'événements au bouton Ajouter la fenêtre parent et d'essayer de forcer une relecture du fichier XML, mais je ne peux pas comprendre comment y parvenir, ci-dessous est ce que j'ai fait jusqu'à présent .

form1.xaml.vb:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
        Dim frm As New newEmergencyContact
        AddHandler frm.Closed, AddressOf refresh_EmContacts
        frm.ShowDialog()
    End Sub
    Private Sub refresh_EmContacts()

    End Sub

Je ne peux pas m'entraîner ce qui devrait aller dans le sous-marin de Refresh_emContacts, dois-je appeler une sorte de gestionnaire d'événements observableCollection pour le notifier qu'il a été mis à jour et faire la relecture?

Toute assistance sera grandement appréciée.

Mat

Était-ce utile?

La solution

Vous feriez peut-être mieux de mettre à jour la collection d'observable directement avec le nouvel élément, puis si vous souhaitez persister la modification du fichier XML à ce stade, vous pouvez vous abonner à l'ObservableCollection Événement de collectionchange et vous pouvez inspecter l'événement que les Args transmis à votre gestionnaire pour obtenir des informations sur l'article ajouté.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top