0

我有一个父窗口,它有一个绑定到从 XML 文件中获取数据的 ObservableCollection 的 ListView。在父窗口上,我有一个添加按钮,可以打开一个模态窗口(form2.ShowDialog(),我认为这是一个模态窗口)。

在子窗口中,我有几个文本字段和一个添加按钮,用户输入新记录的数据并单击添加按钮,XML 文件将更新为新记录。

我想要做的是当子窗口关闭时,父窗口中的 ListView 被刷新以显示新记录。

当我从子窗口更新 XML 文件时,我直接对 XML 文件执行此操作,我是否应该以其他会在 ObservableCollection 上引发事件的方式将数据添加到文件中?

我正沿着向父窗口上的添加按钮添加事件处理程序的路径前进,并尝试强制重新读取 XML 文件,但我不知道如何实现这一点,以下是我到目前为止所做的.

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

我无法锻炼应该进入 refresh_EmContacts 子的内容,我是否需要调用某种 ObservableCollection 事件处理程序来通知它已更新并重新读取?

任何帮助将不胜感激。

马特

4

1 回答 1

1

您最好直接使用新项目更新 ObservableCollection,然后如果您希望将更改保留到 XML 文件,您可以订阅 ObservableCollection 的CollectionChanged 事件,并且可以检查传递给您的处理程序的事件参数获取有关添加的项目的信息。

于 2011-02-04T22:09:10.030 回答