사용자 인터페이스에서 일부 엔터티를 편집 할 때 취소 단추를 구현해야하는 경우가 종종 있습니다. WPF에서보기 모델을 트랜잭션으로 만들면 좋을 것입니다. 좀 더 자세히 설명하려고합니다 :.NET의 트랜잭션 객체
뷰 모델은 모델에 연결되어 있고 뷰 (데이터 바인딩 활용)에서 다루기 쉬운 방식으로 데이터를 노출합니다. 뷰 모델을 변경하면 모델이 변경됩니다. 그러나 취소 버튼이있는 경우 일반적으로 모델에서 즉시 변경을 수행하지 않으므로 어떤 종류의 버퍼링 변경 사항이 있다고 생각합니다. 변경 사항을 커밋하면 모델로 전송되고 그렇지 않으면 삭제됩니다.
지금은 실제보기 모델 대신보기에 바인딩 된보기 모델의 프록시를 만드는 솔루션을 구현했습니다. 프록시는 모델에 연결되어 있지 않지만 인터셉터를 사용하여 속성 및 메서드 호출에 대한 변경 사항을 기록합니다. 실제 뷰 모델에 호출을 적용하는 제출 메소드가 있습니다. 꽤 좋은 해결책이라고 생각하지만 여전히 뷰 모델에 콜렉션이 포함되어 있다면 꽤 버그가 있습니다.
저는 이런 종류의 작업을 수행하는 프레임 워크를 찾고 있습니다. 저 밖에있어?
최고 감사합니다,
올리버 Hanappi
힌트를 보내 주셔서 감사합니다. 모델을 컬렉션이 포함되지 않은 경우에만 사용할 수 있다고 생각합니다. 그래도 여전히 완벽하지는 않지만 좋은 접근 방법입니다. –