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 に答える