잠시 전에 UI와 비즈니스 계층 상호 작용을 처리하는 좋은 방법을 찾고있는이 SO post을 작성했으며 MVVM 패턴을 사용하는 답이 마음에 들었습니다.MVVM 패턴을 사용할 때 WPF에서 Windows 제어하기
이렇게 나는 아주 성공적으로했지만이 패턴을 사용하는 데 문제가 있습니다. 사실, 내 UI의 일부에서 내 버튼 중 하나는 ListView
에 표시된 항목의 세부 정보가있는 대화 상자를 여는 것으로되어 있습니다.
저는이 SO post에 대해 같은 질문을했지만, 답을 이해하지 못했고 제 경우에 적합할지 궁금합니다. 아이디어는 Unity 프레임 워크를 사용하고 예를 들어 App.Container.Resolve<MyChildView>().ShowDialog()
을 사용하여 저장소의보기와 연결된 창을 호출하는 것이 었습니다.
그러나 내 문제는 UI 클라이언트 프로젝트와 별도로 프로젝트에서 ViewModels을 구현 한 것입니다. 프로젝트의 나중 단계에서 필요할 경우 다른 클라이언트의 VM을 사용할 수 있도록하기 위해이 작업을 수행했습니다. 첫 번째 질문은 잘못된 패턴 구현 이었습니까?
두 번째 질문은 내 ViewModels 프로젝트가 실제로 클라이언트 프로젝트에 없으므로 App
전역 변수에 액세스 할 수 없기 때문입니다. 따라서 이전에 언급 한 게시물에서 찾은 솔루션을 사용할 수 있다고는 생각하지 않습니다. 해결 방법이 있습니까?
하지만 이것은 VM 내에서 뷰를 참조하는 것을 의미 할 것입니다. 이는 패턴의 아이디어와 상반됩니다. – SRKX
뷰 모델에서 참조하지 마십시오. 별도의 클래스를 작성하여 대화 상자 창에서 값을 리턴하십시오. – qJake