간단한 질문이며 성공없이 몇 시간 동안 인터넷을 검색했습니다 ...MVVM에서 모델을 동기화하고 양방향 모델을 보는 방법은 무엇입니까?
하나의 속성이있는 모델과보기 모델이 있습니다. 뷰에서이 속성을 볼 수 있도록하기 위해 모델 객체에서 자동으로 생성되어야하는 뷰 모델 객체를 사용하고 그 반대의 경우도 마찬가지입니다. 물론 모델에서 모델 객체를 업데이트하면 뷰 모델에서 뷰 모델 객체가 업데이트되고 이로 인해 모델에서 모델 객체가 업데이트되기 때문에 다음 코드는 StackOverflowException을 throw합니다. 등등 ...
class ModelObject
{
...
}
class ViewModelObject
{
...
}
class Model : INotifyPropertyChanged
{
private ModelObject modelObject = new ModelObject();
...
public ModelObject ModelObject
{
get
{
return this.modelObject;
}
set
{
this.modelObject = value;
this.NotifyPropertyChanged("ModelObject");
}
}
}
class ViewModel : INotifyPropertyChanged
{
private ViewModelObject viewModelObject = new ViewModelObject();
private Model model = new Model();
...
public ViewModel()
{
this.model.PropertyChanged += new PropertyChangedEventHandler(this.propertyChangedEvent);
}
public ViewModelObject ViewModelObject
{
get
{
return this.viewModelObject;
}
set
{
this.viewModelObject = value;
this.model.ModelObject = new ModelObject(...);
this.NotifyPropertyChanged("ViewModelObject");
}
}
private void propertyChangedEvent(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName.Equals("ModelObject"))
{
this.ViewModelObject = new ViewModelObject(...);
}
}
}
이러한 두 개체를 동기화하는 일반적인 방법은 무엇입니까?
이 동작의 응용 프로그램은 무엇입니까? 어디에서 사용합니까? 너 뭐하려고? – Floremin
MVVM에서 뷰 모델과 모델을 동기화하는 것이 기본이라고 생각합니다. 다른 경우에는이 동작이 영구적으로 필요합니다. – user2220511