アイテムを保持するObservableCollection<LegEventItems>
があります。私は期間開始のためにこのコレクションの中で最も早い日付を取得する必要があるタイムラインを持っています。私はこれを行う最良の方法が何であるか分かりません。C#/ WPFコレクションの最古の日付にバインドする
可能であれば、xaml(プロパティまたはコンバーターの作成を除く)のすべてでこれを実行したいと思います。私は、コンバータを作成しようとしたなどのようにそれを使用しました:
{Binding Source={x:Static cs:CurrentData.LegEventItems}, Converter={StaticResource earliestDateCnv}}
問題は、値は、コンバータに更新されませんです。タイムラインが最初にレンダリングされたときに一度呼び出されますが、オブザーバブルコレクションからアイテムが追加/削除されると、更新されません。
私は既にINotifyPropertyChanged
をLegEventItemsに組み込みました。何か案が?
コレクションオブジェクトが置き換えられないため、コレクションにアイテムが追加または削除されたときにバインドがトリガーされません。ビューモデルに 'EarliestLegEventItem'プロパティを追加する必要があります。 – Clemens
@Clemens私はMVVMを使用していません。また、アイテムが削除/追加されたときに、そのようなプロパティを更新するものは何ですか?私はアイテムが全部の異なる場所から追加されているので、常に更新する必要があります。 – James
静的プロパティを使用しないでください。インターフェイスはインスタンスのものなので、静的プロパティはINotifyPropertyChangedメカニズムの一部であると真剣に疑うことがあります。 – hoodaticus