2016-06-28 5 views
0

저는 일반적으로 WPF에 익숙하지 않습니다. 나는 지금 약 6 개월 또는 7 개월 동안 그 일을 해왔다. 나는 고객, 제품, 예약, 할인 등의 기록을 유지하는 기본적인 고객 관리 시스템 인 첫 번째 응용 프로그램을 끝냈습니다 ... 그러나 이제는 모두 잘 작동하지만 상당히 해킹 된 프로젝트를 잘 구조화되고 깔끔하게 코드화 된 것으로 전환시키는 작업이 이루어집니다 신청. 이것의 주요 부분은 MVVM 디자인 패턴을 고수하고 있습니다. 수정 작업에 관련된 작업을보고 나면 재 작성이 더 좋은 선택이라고 판단했습니다. Caliburn Micro에 대한 참조가 추가 된 새로운 솔루션을 시작했습니다. 리팩터링을 마친 후 이전 프로젝트에서 모든 모델을 가져 와서 불필요한 코드를 제거했습니다.Caliburn Micro에서 내보기를 모델보기에 자동으로 연결하지 않습니다.

그러나 내 문제의 핵심은 Caliburn이 의도 한대로하지 않는 것 같습니다. 내 루트 폴더에 'Views'및 'ViewModels'폴더 (예 : 'CustomersView.xaml'및 해당 'CustomersViewModel.cs')가있는 폴더가 있습니다. ViewModel까지는 내 의견이 전혀 없습니다. 또한 View에서 XAML을 통해 DataContext를 선언적으로 설정하거나 코드에서 설정 한 경우에도 뷰의 모든 컨트롤을 해당 속성이나 동작에 수동으로 바인딩해야합니다. ViewModel

저는 며칠 동안 온라인으로 검색했고 거의 읽은 모든 것이 자동 프로세스 여야하고 모든 요구 사항은 제가 수행 한 적절한 명명 규칙을 구현한다는 것입니다. .

아무에게도 해결책을 찾아야하는 방향을 제시 할 수 있습니까? Caliburn에 관한 문서는 기껏해야 작은 스킨 인 것 같습니다.

내가 그러나 내가 이것을 고려하고 생각하는 순간에 떨어진 내 작업 기계에서 해요 내 프로젝트 내가보기의 조각을보고하고 (I 정정 서 행복 있지만) 뷰 모델은 약간의 의미가 될 것이다 전역 전역

Caliburn.Micro를 사용하는 데모 프로젝트가 잘 작동하고 새로운보기 및 뷰 모델을 만들어 결혼하게 만들 수 있습니다.

어떤 제안 사항이라도 듣고 기쁘게 생각합니다.

+0

보기 모델 클래스의 이름이 실제로 'CustomersViewModels'입니까? 그럴 경우'ViewModel.LocateForModelType()'이'CustomersViews' ('s'에주의하십시오) – Doom5

+0

오타를 찾습니다. 미안 해요. 전혀 아니오, ViewModel에는 모두 ViewModel이 붙어 있고 View에는 모두 View라는 접미사가 붙습니다. –

+0

뷰 모델이 공개입니까? –

답변

1

Caliburn Micro는 뷰 모델이 viewModel과 일치하도록 xaml 파일에서 x : Class 이름을 찾습니다. 즉, 클래스 이름 뒤에 코드가 있고 x : 클래스 이름이 Caliburn Micro에서 뷰 모델의보기를 조회하는 데 사용됩니다.