셀프 추적 엔티티를 사용하여 WPF 애플리케이션을 작성 중입니다. 내 모델의 값이 변경되면 내 저장 버튼을 사용 또는 사용하지 않도록 설정하는 데 문제가 있습니다. 일반적으로 일반 Entity Framework 모델에서는 ViewModel의 Model.PropertyChanged 이벤트에 간단히 가입 할 수 있습니다. 그런 다음 유효성 검사를 확인하고 내 저장 단추를 사용 안 함으로 설정하거나 내 저장 단추를 사용하도록 설정하는 내 저장 단추에 대해 RaisePropertyChanged를 사용할 수 있습니다.자체 추적 엔티티 구독하기 PropertyChanged 이벤트
셀프 추적 엔티티의 경우 Model.PropertyChanged 이벤트가 protected로 표시되어 ViewModel에서 직접 구독 할 수없는 것으로 나타났습니다. T4 템플릿을 수정하지 않고이 이벤트에 가입 할 수있는 방법이 있습니까 ??
protected virtual void OnPropertyChanged(String propertyName)
{
if (ChangeTracker.State != ObjectState.Added && ChangeTracker.State != ObjectState.Deleted)
{
ChangeTracker.State = ObjectState.Modified;
}
if (_propertyChanged != null)
{
_propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
protected virtual void OnNavigationPropertyChanged(String propertyName)
{
if (_propertyChanged != null)
{
_propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged{ add { _propertyChanged += value; } remove { _propertyChanged -= value; } }
private event PropertyChangedEventHandler _propertyChanged;
private ObjectChangeTracker _changeTracker;
나는 템플릿을 수정하여 작업을 훌륭하게 수행 한 것 같습니다. 내가 생각했던 것보다 쉬웠다. 감사! – ccorrin