나는 이것을 할 올바른 방법을 찾기 위해 애 쓰고 있습니다. 나는 MyViewModel
의 관측 가능한 콜렉션을 가지고있는 MyCollectionViewModel
을 가지고 있습니다. 나는 이것을보기 MyCollectionView
에 바인딩하고 OpenMyViewCommand
이라고하는 MyCollectionViewModel
의 명령에 다시 바인딩 된 항목을 선택했습니다. 지금까지 너무 좋은 :선택된 ViewModel에 대한보기 열기
private MvxCommand<MyViewModel> _openMyViewCommand;
public ICommand OpenMyViewCommand
{
get {
_openMyViewCommand= _openMyViewCommand?? new MvxCommand<MyViewModel>(OpenMyView);
return _openSubViewCommand;
}
}
지금 내 목록에있는 항목 중 하나는 명령을 발사하고 방법을 선택한 MyViewModel
을 통과하는 방법 OpenMyView
를 호출 볼 터치 할 때. 이제 문제는 내가 시도한 결과에 상관없이 ShowViewModel
에 선택된 모델의보기를 표시하는 것일 수 있다는 것입니다. 물론 그렇지 않습니다,
private void OpenMyView(MyViewModel item) {
ShowViewModel<MyViewModel > (item);
}
그러나 : 나는 여러 가지를 시도했지만,이 같은 정말 간단 직관적으로, 내가 기대 한 것 인 무엇인가가 작동 할 수 있습니다. 다음과 같은 오류가 발생합니다.
013-06-10 10:46:05.849 MyAppIPhoneUI[51198:c07] mvx: Warning: 5.83 Problem creating viewModel of type MyViewModel - problem MvxException: Failed to resolve parameter for parameter model of type MyModel when creating MyApp.Core.MyViewModel
at Cirrious.CrossCore.IoC.MvxSimpleIoCContainer.GetIoCParameterValues (System.Type type, System.Reflection.ConstructorInfo firstConstructor) [0x00042] in /MvvmCross-3/CrossCore/Cirrious.CrossCore/IoC/MvxSimpleIoCContainer.cs:377
at Cirrious.CrossCore.IoC.MvxSimpleIoCContainer.IoCConstruct (System.Type type) [0x00030] in /MvvmCross-3/CrossCore/Cirrious.CrossCore/IoC/MvxSimpleIoCContainer.cs:266
at Cirrious.CrossCore.Mvx.IocConstruct (System.Type t) [0x00006] in /MvvmCross-3/CrossCore/Cirrious.CrossCore/Mvx.cs:115
at Cirrious.MvvmCross.ViewModels.MvxDefaultViewModelLocator.TryLoad (System.Type viewModelType, IMvxBundle parameterValues, IMvxBundle savedState, IMvxViewModel& viewModel) [0x00004] in /MvvmCross-3/Cirrious/Cirrious.MvvmCross/ViewModels/MvxDefaultViewModelLocator.cs:27
013-06-10 10:24:11.330 MyAppIPhoneUI[50878:c07] mvx: Warning: 6.87 Exception masked MvxException: Failed to load ViewModel for type MyApp.Core.MyViewModel from locator MvxDefaultViewModelLocator
at Cirrious.MvvmCross.ViewModels.MvxViewModelLoader.LoadViewModel (Cirrious.MvvmCross.ViewModels.MvxViewModelRequest request, IMvxBundle savedState, IMvxViewModelLocator viewModelLocator) [0x00023] in /MvxViewModelLoader.cs:46
여기에 무슨 일이 일어 났는지 생각해보십시오. MyView
클래스가 MvxViewController에서 상속되지만로드되지 않습니다.
감사합니다. 스튜어트. 나는 collect-a-bull 파트 4와 비슷한 방식으로 다시 만들었지 만 제대로 작동하는 것처럼 보입니다.하지만 먼 길을가는 것처럼 보입니다. 그러나 라이프 사이클에 대한 귀하의 요점은 제가 좀 더 많은 것을 읽어야 할 필요가 있다고 생각합니다. –