0

典型的なマスター/ディテール シナリオがあります。ユーザーは、マスター ビューで [新規追加] をクリックし、詳細ビューに詳細を入力できます。たとえば、製品の ObservableCollection のリストがあるとします。ユーザーが [新規追加] をクリックすると、新しい製品レコードが ObservableCollection に追加され、製品の詳細を追加するための詳細ビューが開きます。これは、ユーザーが製品を保存した場合にうまく機能します。ただし、ユーザーが新しい製品の追加をキャンセルすることを決定した場合、マスター ビューで製品の ObservableCollection から同じものを削除するにはどうすればよいですか。1 つ目は ObservableCollection の参照を Details ビューに渡す方法、2 つ目はイベントを使用して新しい Product レコードの削除についてマスター ビューに通知する方法です。何を指示してるんですか ?また、特にプリズムでこれを処理するより良い方法があれば、

よろしく、ニルヴァン。

4

1 に答える 1

1

ObservableCollection への参照を詳細ビューに渡すことはできません。バインドされているレコードについてのみ知っている必要があります。

このための UI を指定していません。設計により適した方法がいくつかあります。ただし、合理的に不可知な方法の 1 つは、EventAggregator を使用して、マスター ビューがサブスクライブできるイベントを発行することです。そのイベントをどのように処理するかはマスター ビュー次第であり、異なるビューは異なる方法で応答できます。この特定のケースでは、マスター ビューは現在選択されているアイテムを確認でき、それが新しい場合 (つまり、保存されておらず、ID などの重要な情報がない場合)、コレクションから削除して破棄することができます。それ。

于 2012-04-17T04:32:33.470 に答える