因此,我的课程由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; }
}
}
当其中一个属性发生变化时,我想做一个notifypropertychange。这可能以某种方式编辑这个生成的类吗?
答案 0 :(得分:0)
这是可能的,但我强烈建议不要这样做! 在模型中添加INotifyPropertyChanged将导致a 关注点分离不好。
使用事件突出显示模型已更改。 看看这里是如何工作的:MSDN on standard event pattern
甚至更好:MSDN cites Albahari Bros on the event pattern
在您的viewmodel中,实现了INotifyProperty的更改。 让您的ViewModel比从您的模型中侦听事件,调整数据 并通过INotifyPropertyChanged
将其推送到您的视图答案 1 :(得分:0)
是的,您可以使用名为PropertyChanged.Fody的NuGet包。安装包,然后创建另一个部分类,添加[ImplementPropertyChanged]属性,如下所示;
using PropertyChanged;
[ImplementPropertyChanged]
public partial class Ploeg
{
}
那就是它。
有关详细信息,请参阅GitHub。
答案 2 :(得分: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);
}
}
}
}