저는 WPF 및 MVVM을 배우고 있으며 좋은 디자인을 강조하고 있습니다. WinForms 및 C#에 대한 많은 경험이 있습니다. 이것은 개념적이므로 코드를 게시 할 필요가 없다고 생각합니다.WPF MVVM가 공유 정보를 제어합니다.
"프로필"을 관리하는 xaml 창이 있습니다. 왼쪽 절반에는 데이터베이스를 읽고 프로파일의 계층을 생성하는 ViewModel에 바인딩 된 사용자 정의 Control 트리 뷰가 있습니다. 개별 프로파일에 대한 ViewModel은 다른 것들 중에서 데이터베이스 ID를 포함합니다. 오른쪽 절반은 ListView 및 개별 Profile 정보에 대한 데이터베이스를 읽는 자체 ViewModel을 가진 또 다른 사용자 지정 컨트롤입니다.
두 반쪽 모두 독립적으로 작동하지만 이제는 listview의 정보가 treeview 선택을 반영하도록 listview와 함께 treeview 선택을 연결하려고합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
트리보기 viewmodel은 목록보기에서 프로필 정보를 조회하는 데 사용할 수있는 프로필 ID를 제공합니다. 다시 말하지만, 목표는이 둘을 하나로 묶는 것입니다. 일부 옵션이있는 것 같습니다 :
- 트리보기의 viewmodel은 프로필을 업데이트하는 listview viewmodel에서 정적 메서드를 호출 할 수 있습니다.
- 전체 페이지에는 두 구성 요소 모두에 대한 멤버보기 모델이있는보기 모델이 포함될 수 있습니다.
-I 어떻게 든 treeviewss viewmodel의 알려진 선택된 프로필을 xaml 파일의 listview 컨트롤로 "라우팅"할 수 있습니다.
이러한 옵션은 모두 더러워졌습니다. 다시 나는 여기에서 배우고 있고, 작은 세부 사항이 나중에 더 큰 결정을 지시하기 때문에 좋은 디자인을 강조하고 싶다.
아이디어가 있습니까?
감사합니다.
는, 실제로는 처음 내가 들어 본 것입니다. 그것을 사용하는 습관을 만들어야하는 일반적인 추세가되고 있습니다. 다른 말로하면 기본 WPF 설치 구조와 MVVM 구조 만 배우려고 노력하는 중입니다. – bufferz
그냥 좋은 프레임 워크를 제공합니다. MSDN 기사를 참고하십시오. http://msdn.microsoft.com/en-us/magazine/cc785479.aspx 하지만 정말로하고 싶은 것은 이것을 다운로드하고 Microsoft가 예제로 만든 StockTrader 앱을로드하는 것입니다 ... http://www.microsoft.com/downloads/details.aspx?FamilyId=6DD3D0C1 -D5B4-453B-B827-98E162E1BD8D & displaylang = ko 어떻게하면 물건을 함께 넣을 수 있고 어떻게 WPD와 MVVM을 사용하여 시작했는지를 알 수 있습니다. 희망이 도움이 ... –
고마워, 앤디. 프리즘과 그것이 무엇인지 이해하는 데는 다소 시간이 걸렸습니다. 더 깊게 파고 들자면, 나는 사용하고 EventAggregator는 내가하고 싶은 것을 성취 할 것이다. 이것은 일반적인 지시 사항을 단지 한 줄 이상의 코드로 제공합니다. 귀하의 의견을 보내 주셔서 감사합니다! – bufferz