2010-08-17 6 views
0

내 ViewModel은 IDisposable을 구현하지만 View (System.Windows.Window)처럼 보이지 않습니다. 그렇다면 VM을 적시에 처리하도록하려면 어떻게해야합니까?ViewModel의 처분을 트리거하는 방법

+2

ViewModel에서 처리해야하는 관리되지 않는 리소스가 있습니까? 그렇지 않은 경우 Dispose 메소드에서 아무 것도 할 필요가 없으며 GC가 언제 제공되고 VM을 정리하고 리소스를 모두 정리하는지 실제로 신경 쓰지 않아야합니다. –

+1

의견을 이해하고 있는지 잘 모르겠습니다. 물론 IDisposable을 구현하는 리소스가 있습니다. (관리 대상이든 아니든, 중요합니까?) 따라서 나는 적절한시기에이를 처리해야합니다. 따라서 질문이 필요합니다. –

+1

IDisposable의 목적은 관리되지 않는 리소스를 해제하는 것입니다. http://msdn.microsoft.com/en-us/library/system.idisposable.aspx에서보다 자세한 설명을 제공합니다. IDisposable을 사용하여 메모리에서 관리되는 개체를 릴리스 할 수 없습니다. 이는 가비지 수집기에서만 수행됩니다. *** 관리되지 않는 리소스가 있다면 ***, ** JaredPar의 대답 **을 따르십시오. 그렇지 않은 경우 아무 것도하지 않고 관리 대상에 대해 걱정하지 마십시오. –

답변

2

시나리오에 약간 달려 있지만 가장 간단한 방법은 그 시점에 Window::Close 이벤트에 첨부하고보기 모델을 삭제하는 것입니다.

+0

Open()/Close()을 여러 번하는 창이 있다면 다른 제안이 있습니까? – SandRock

관련 문제