내 애플리케이션은 XML 파일을로드하고 오류를 표시하도록 설계되었습니다 (있는 경우).다른 뷰를 MVVM과 분리 된 상태로 유지하는 방법
내가 가진 문제는 커플 링하지 않고 화면 (XML과 오류)을 모두 표시하는 방법입니다 (현재 응용 프로그램이 작동 함). (더 웃음이나 나에 대한 의견은 물론하시기 바랍니다 포토샵 \ UI에가는)처럼
내 응용 프로그램은 현재 보이는 없습니다 :
갈색 색상 XmlView라는 다른보기이다.
빨간색 상자는 오류를 표시하려는 곳입니다.
그래서 사용자가 파일 -> 열기를 클릭하고 파일을 선택하면 .XML 콘텐츠가 내 XmlView (갈색)에 표시되고 오류 메시지가 빨간색으로 표시됩니다. 이것은 작동하지만, 나는 MainWindow와 XmlView를 완전히 결합했기 때문에 디자인이 좋지 않다는 끔찍한 느낌이 듭니다.
사용자가 유효한 파일 (파일 -> 열기)을 선택하면 내 XmlView의 인스턴스를 만들고이 파일을 내 MainWindow 클래스의 뷰 속성에 바인딩합니다. 내 XmlView MainWindow 형식입니다 1 매개 변수를 사용합니다.
그래서, 내 XmlView 내, 내 ErrorList를 업데이트, 나는
_mainWindow.ErrorList.Add(//newError)
유사한 코드를 작성하는 것입니다하지만 지금 내 XmlView 내가 원하지 않는 줄 알았는데 내 MainWindow를 알고 의미합니다.
결국, 내 질문! 내 디자인이 형편 없거나 괜찮습니까?
이것은 좋은 대답입니다. 그러나 XmlViewModel이 XML의 유효성을 검사하고 문제가 발생하면 문제는 설명 된 커플 링을 사용하지 않고 MainViewModel에 '오류'를 표시하는 방법입니다. 아니면 프레임 워크 중 하나가 도움이 될 수있는 잠재력이 있습니까? – Dave
XmlViewModel의 자식으로 이것을 사용하는 것이 더 좋은 디자인 인 것 같습니다. 동시에 여러 개의 XML 파일을 열어서 동시에 각각의 오류 목록을 만들 수는 없습니까? – devdigital
셸 (MainViewModel 또는 ShellViewModel)에서이 오류 창 /보기를 만들려면 Caliburn.Micro의 EventAggregator에서 제공 한 것과 같은 조정자 패턴을 사용할 수 있습니다. 또한 셸에서 구독하는 표준 .NET 이벤트를 사용할 수도 있습니다. – devdigital