2017-05-04 13 views
0

프리즘은 MVVM 스타일 규칙 명명법을 사용하여 Xamarin 응용 프로그램의 ViewModel에보기를 바인딩합니다.Xamarin에서 Prism을 사용할 때 View 및 ViewModel의 이름이 일치하지 않으면 어떻게 경고 할 수 있습니까?

최근 데모 코드를 변경하고 페이지 디버깅 시간이 너무 많이 걸린 후에 페이지 이름이보기와 일치하지 않는다는 것을 깨달았습니다.

로깅을 사용하거나 이러한 불일치가 있다는 사전 컴파일러 경고를 어떻게 사용할 수 있습니까?

답변

1

Dan의 응답에 추가하려면 명명 규칙을 무시하고 Container.RegisterTypeForNavigation<View, ViewModel>() 메서드를 사용하여 ViewModel을보기에 직접 등록하십시오. 리플렉션이 VM을 찾는 데 사용되지 않으므로이 속도도 빠릅니다.

+0

프로젝트를 업데이트 할 예정입니다. Prism에 대한 의견은 어디에서 받습니까? 나는 그것을 좋아한다. 또한, 내 원래 질문 (OP)이 멋진 도구의 모바일 버전을 바랬다 : http://nileshviradiya.blogspot.in/2014/11/debugging-routes-aspnet-mvc.html 당신은 프리즘이 그런 사용자 정의/동적 디버깅 페이지를 만들었습니까? – LamonteCristo

+0

프리즘은 https://github.com/prismlibrary/prism에서 호스팅됩니다. 아니, 프리즘은 그것을 얻지 못할 것이다 :) –

1

뷰에 대한 ViewModel 찾기는 ViewModelLocationProvider에 의해 프리즘 코어에서 처리됩니다. 구현 방법은 here입니다. 기본 동작을 무시하고 자신 만의 로깅을 삽입하려는 경우 해당 템플릿을 템플릿으로 사용하고 App.OnInitializedViewModelLocationProvider. SetDefaultViewTypeToViewModelTypeResolver(YourCustomerLocatorFunctionHere)을 호출 할 수 있습니다.

사전 컴파일 경고에 대해서는 사용자가 직접 도구를 작성해야합니다.