2011-02-28 5 views
1

Silverlight OOB 앱의 로그인 화면에서 대시 보드로 이동하려고합니다.Caliburn.Micro에서 하나의 ViewModel에서 다른 ViewModel로 이동하는 방법?

나는 Caliburn.Micro를 사용하기 시작했지만, 이제는 내가 사용할 수있는 모든 것이 보이기 때문에 Conductor입니다. 또는 나는 무엇인가 놓치고 있냐?

: 나는 원래 의도했던대로 Conductor생성자을 변경했습니다. 이것은 당신이 당신의 질문을 교정하지 않기 때문에 얻는 것입니다.

답변

3

로그인 화면을 표시하는 방법에는 여러 가지가 있습니다. 가장 좋은 방법은 ShellViewModel에서 시작하는 것입니다. 따라서 ShellViewModel은 추상화 (ILoginViewModel)로 삽입 할 수있는 LoginViewModel에 종속되거나 더 이상 추상 팩터 리를 사용하여 ShellViewModel 생성자에 삽입해야합니다. 당신이 ShellViewModelLoginViewModel의 인스턴스를 일단

하나의 방법은, 당신이 그것을 표시 할 수 있습니다 (경우가 Caliburn.Micro WindowManager.ShowDialog 방법을 사용하는 - IWindowManager 추상화로이 종속성을 주입)을 모달 대화 상자로, 쉘보기 주요 컨텐츠 영역의 일부로 로그인보기를 표시하십시오.이 경우 ShellViewModel은 지휘자가되며 ActivateItem 메소드를 사용하여 LoginViewModel의 인스턴스를 활성화합니다.

LoginViewModel에서 모달 대화 상자 또는 진행보기로 입력을 받으면 ShellViewModel을 지휘자로 사용하여 적절하게 DashboardViewModel을 표시 할 수 있습니다.

+1

미안하지만 이제는 지휘자 ​​대신 생성자를 입력 한 것으로 나타났습니다. 정말 미안해. 나는 목구멍 때문에 어제 약물 치료를 받았고 나는이 문제를 교정하지 않았습니다. 아직도, 당신은 대답이 나에게 많은 것을 보여주었습니다. –

관련 문제