2011-06-14 23 views
2

Appointment制御のそれぞれを保存するために、以下に、私はC#のでSilverlightの予定のブックを作成しようとしていますので、私はメインAppointmentBook制御を持っています:IListが変更されたことを確認しますか?

List<kAppointment> appointments = null; 

    public IList<kAppointment> Appointments 
    { 
     get 
     { 
      if (appointments == null) 
      { 
       appointments = new List<kAppointment>(); 
      } 

      // Can notify something change here, 
      return appointments; 
     } 
    } 

私が割り当てられAppointmentBook制御新しいリストを通知することができます上記のコードでは、それぞれの予定コントロールを再描画します。

しかし、どの予定リストは、次の?:

appointments.Add(NewAppointment); 

答えて

4
を使用している「最後のdrawed」

ObservableCollectionの仕事のように聞こえます。

これにより、イベントを購読でき、コレクションがどのように変更されたかがわかります。

+0

おっと、ありがとう。 – King

0

私はいくつかのことを考えることができることにより、変更された場合、私はそれを確認することができます。

  1. 余分なブール値が変更されたIListのラッパークラスを作成します。
  2. 追加/削除/編集アクションを実行するときにtrueにする変数(ブール値など)を使用し、再描画を実行したときに再びfalseにします。
  3. your're描画(または唯一存在するいくつかの指標の)リストのコピーを保存し、確認する場合は、「入」とリストが
  4. 同じでのObservableCollection
0

ObservableCollectionのように他のものが示唆するものや、カプセル化を行うことができます。はプライベートメンバーに完全にアクセスできません。

Addが提供する単一のパブリックメソッドによって行われた場合、クラスのユーザーが予定を追加してそれに応じていつ行動するかは常にわかります。