1

edmx: Descriptionのデータベースから自動生成されたプロパティがあります。次に、エンティティの "部分クラス" .cs ファイルを作成し、読み取り専用プロパティShortDescriptionを追加します。ShortDescription の getter は、単純に Description を処理します (改行、キャリッジ リターンなどを削除します)。

Description のセッターで ShortDescription のプロパティ変更通知を発生させるにはどうすればよいですか?

ありがとう!

4

2 に答える 2

4

これはハックになりますが、実行できます。

まず、 と をオーバーライドする必要がありReportPropertyChangingますReportPropertyChanged。次に、プロパティの名前のパラメーターを確認します...この場合は「説明」です。これが発生した場合は、派生プロパティ名 (この場合は "ShortDescription") を使用してReportPropertyChangingorを呼び出します。ReportPropertyChangedパラメータのその他の値については、 の基本バージョンを呼び出しますReportPropertyChanging/Changed

編集: 例:

    protected override void OnPropertyChanging(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanging("ShortDescription");
        }
        base.OnPropertyChanging(property);
    }

    protected override void OnPropertyChanged(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanged("ShortDescription");
        }
        base.OnPropertyChanged(property);
    }
于 2010-09-16T17:22:41.497 に答える
3

メソッドも部分的であるため、部分クラスに次のようなコードを追加できます

 partial void OnDescriptionChanged()
  {
    OnPropertyChanged("ShortDescription"); 
  }
于 2011-09-30T19:16:50.580 に答える