3

したがって、私のクラスは EF によって自動生成されます。

//------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template.
//
//    Manual changes to this file may cause unexpected behavior in your application.
//    Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Testje.Models
{
    using System;
    using System.Collections.Generic;

    public partial class Ploeg
    {
        public Ploeg()
        {
        }

        public int Id { get; set; }
        public string Naam { get; set; }
        public string Icon { get; set; }
    }
}

プロパティの 1 つが変更されたら、notifypropertychange を実行したいと思います。この生成されたクラスを編集せずにこれは何とか可能ですか?

4

3 に答える 3

0

可能ですが、これを行わないことを強くお勧めします。モデルに INotifyPropertyChanged を追加すると、問題の分離がうまくいきません。

イベントを使用して、モデルが変更されたことを強調します。これがどのように機能するかについては、こちらをご覧ください: MSDN on standard event pattern

またはさらに良い: MSDN は、イベント パターンで Albahari Bros を引用しています。

ビューモデルで、変更された INotifyProperty を実装します。ViewModel にモデルからのイベントをリッスンさせ、データを適応させ、INotifyPropertyChanged を介してビューにプッシュします。

于 2012-11-18T18:36:52.980 に答える
0

はい、可能です。PropertyChanged.Fody という NuGet パッケージを使用してください。パッケージをインストールしてから、以下に示すような [ImplementPropertyChanged] プロパティを追加する別の部分クラスを作成します。

using PropertyChanged;

[ImplementPropertyChanged]
public partial class Ploeg
{
}

それでおしまい。

詳細については、 GitHubを参照してください。

于 2016-11-04T16:38:29.117 に答える
0

私の場合、追加しました

INotifyPropertyChanged

継承として、魅力のように機能するようです。EF 生成クラスの使用 (Request_Comment は生成クラス EF です)

例:

namespace Requesto
{
    public partial class Request_Comment : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        public void OnPropertyChanged(PropertyChangedEventArgs e)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, e);
            }
        }
    }

}
于 2018-09-12T11:56:21.440 に答える