1

私は自分のwpfプロジェクトにプロパティ変更イベント(または適切な方)を実装しようとしていますが、これを行うための最良の方法を見つけようとしています。

展開/折りたたみアイコンがあるこのヘッダーがあり、ウィンドウに複数のヘッダーがある可能性があります。すべてのヘッダーが最初にリストされているときにデフォルトを折りたたむ必要がありますが、ユーザーが一部のヘッダー(すべてではない)を展開するときに、ウィンドウで[更新]をクリックしてヘッダーを更新するときに、そのままにしておきます更新される前でした。

したがって、ヘッダー1と2が展開され、3と4が折りたたまれている場合、更新ボタンを押したときに、実際にそれを覚えておく必要があります。問題は、「更新」をクリックすると、ビュー全体が更新されるため、情報が失われることです。

情報を格納するためにこれらのヘッダーをホストする実際のクラスにコレクションを作成しようとしているので、ヘッダーが展開または折りたたまれたときに、展開/折りたたみが発生したことをコレクションに通知し、その値を更新したいと思います。コレクションなので、更新ボタンがクリックされたときに、更新前にヘッダーがビューにすでに存在していた場合はGUIDと比較し、保存された展開/折りたたみ情報で新しいヘッダーを更新して、更新後も更新できます。その状態を保持します。

4

1 に答える 1

1

バインドされているクラスの個々のインスタンスについて、INotifyPropertyChangedインターフェイスを実装する必要があります。

また、ヘッダーが格納されているコレクションに、コレクション自体がいつ変更されるかを示すINotifyCollectionChangedインターフェイスを実装する必要があります。

これらの2つのインターフェイスは、正しく実装されている場合、オブジェクト(およびそれらが含まれるコレクション)をWPFデータバインディングシステムによって正しくバインドできるようにする必要があります。

于 2009-07-09T18:50:24.340 に答える