2010-11-18 5 views
3

Caliburn.Micro 샘플 프로젝트가 있습니다. 중첩 된 뷰/뷰 모델을 사용하여 관습 기반 바인딩에 문제가 있습니다.중첩 된 뷰에서 Caliburn.Micro 관례 기반 바인딩이 작동하지 않습니까?

예를 들어 화면 도체 인 ShellViewModel이 뒷받침하는 ShellView 셸 뷰가 있다고 가정 해 봅니다.

(x : 이름 규칙을 사용하여) ActiveItem에 바인딩 된 ShellView에 콘텐츠 컨트롤이 있고 ActiveItem의 형식이 EmployeeListViewModel이므로 결과보기가 EmployeeListView입니다. 이 뷰에 중첩 된 EmployeeDetailsView는 EmployeeListViewModel의 선택된 항목에 바인딩 된 EmployeesDetailsViewModel에 의해 지원됩니다.

이 예제는 EmployeeDetailsView에서 Caliburn 규칙을 사용하는 텍스트 상자 및 단추와 같은 것들을 바인딩 할 수 없다는 점만 제외하면 잘 작동합니다.

<TextBox Text="{Binding EmployeeID}" /> 

하지만,이 라인 중 어느 것도 작동 :이 잘 작동 텍스트 상자의 텍스트가 결합

<TextBox x:Name="EmployeeID" /> 
<Button x:Name="ClickMethod" /> 

큰 문제가되지 않지만 자동 버튼 방식 인맥이 Caliburn에 대한 멋진 것들 중 하나입니다 . 마이크로 있지만 중첩 된보기에서 작동하지 않는 것.

아이디어가 있으십니까?

답변

2

수동으로 수행하는 EmployeesDetailsView에 EmployeesDetailsViewModel (SelectedItem)을 바인딩 할 때 느낌이 들었습니다. CM은 그 시점에서 물건을 배선하지 않습니다. SelectedItem 바인딩에 대한 xaml 및 일부 cs를 게시 할 수 있습니까? 시도해 보셨습니까

<MyUc:EmployeesDetailsView x:Name="SelectedEmployee" /> 

그리고 SelectedEmployee를 EmployeeListViewModel에서 중단 하시겠습니까?

+0

그래, 그게 내가 도와 준 덕분이야! –