2011-06-27 6 views
4

私はWPFでチャットアプリケーションを構築する必要があります。私はDataBinding(まだそれを学んで.. ..)を使用し、正しい方法でそれをやりたい 私はこのようにバディクラスを構築しました:私は追加し、リスト方式でBuddyListクラスを作成する必要があり、私は.... BuddyListを処理するための最良の方法であるかわからないWPF:DataBinding用のクラスを設計する

public class Buddy: INotifyPropertyChanged 
{ 
    private String _name; 
    private String _status; 
    public String Name 
    { 
     get 
     { 
      return _name; 
     } 
     set 
     { 
      _name = value; 
      NotifyPropertyChanged("Name"); 
     } 
    } 
    public String Status 
    { 
     get 
     { 
      return _status; 
     } 
     set 
     { 
      _status = value; 
      NotifyPropertyChanged("Status"); 
     } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 

    protected void NotifyPropertyChanged(string propertyName) 
    { 
     if (PropertyChanged != null) 
      PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
    } 
} 

をして、データバインディングそのクラスのインスタンスに? 誰でも最高の正しい方法で私を助けることができますか?事前

答えて

2

おかげであなたはアイテムのコレクションをバインドしたい場合は、 ObservableCollection class

を使用する必要がありますし、別の提案を作成し、INotifyPropertyChangedのインタフェースを実装する基底クラス、 およびそれからあなた各クラスを派生UIにバインドしたい

1

私はあなたのクラス定義はちょうどいいと思う。

リストの質問に関しては、私のリストを読み込み専用として公開しています。すべての追加、削除、編集機能を私は非公開にしています。コレクションの変更を手動で表示することを避けるため、ObservableCollectionを使用しますが、公開するにはReadOnlyObservableCollectionとします。

関連する問題