0

我有一個父窗口,它有一個綁定到ObservableCollection的ListView,它從XML文件獲取數據。在父窗口中,我有一個添加按鈕,打開一個打開一個模態窗口(form2.ShowDialog(),我認爲這是一個模態窗口)。插入數據到XML文件notify ObservableCollection

在子窗口中,我有幾個文本字段和一個添加按鈕,用戶輸入新記錄的數據,然後單擊添加按鈕,並使用新記錄更新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事件處理程序的通知它,它已被更新,並做重新閱讀?

任何援助將不勝感激。

馬特

回答

1

你可能會更好直接與新項目更新的ObservableCollection,然後如果你想堅持的變化,以在該點的XML文件,你可以訂閱的ObservableCollection的CollectionChanged event,你可以檢查傳遞給您的處理程序的事件參數以獲取有關添加的項目的信息。

+0

感謝您的幫助,我將以這種方式實施。 – Lima 2011-02-07 13:25:16