2

私は次のWCFクラスを持っています:

[DataContract]
public class Book
{
    [DataMember]
    public int Id{get;set;}
    [DataMember]
    public string Title {get;set;}
}

このクラスをWPFアプリケーションに取得するときは、INotifyPropertyChangedインターフェイスを実装する必要があります。

これを行う正しい方法は何ですか?

INotifyPropertyChangedを実装するWCFから取得したデータを別のクラスにコピーする必要がありますか、それともWCFクラスに実装する必要がありますか?

4

2 に答える 2

3

正しい方法は、Visual Studioで[サービス参照の追加]を使用して参照を追加することです。デフォルトでは、これにより、次の要素を持つReference.svcmapファイルが作成されます <EnableDataBinding>true</EnableDataBinding>。この要素は、INotifyPropertyChangedのコードの生成を制御します。デフォルトでは、これはtrueに設定されているため、生成されるクライアントクラスはすでにINotifyPropertyChangedを実装しています。

コマンドツール(svcutil.exe)を使用している場合は、ここで説明するように、オプション/enableDataBinding-を調べる必要があります。

于 2012-05-19T17:32:07.347 に答える
0

INotifyPropertyChangedクラスにインターフェイスを実装しますBook。この同じBookクラスが WCF サービスの実装と WPF アプリケーションの両方で使用できる限り、問題はありません。

于 2012-05-19T16:57:59.330 に答える