2011-03-24 2 views
0

현재 MVMS 프레임 워크를 사용하고 있지 않습니다. 따라서 탐색 된 페이지에서 쿼리 문자열 매개 변수 값을 가져 오는 것이 간단합니다. 내 시나리오는 일반적인 것입니다. "마스터 페이지"의 엔티티 기본 키를 "세부 정보 페이지"로 전달합니다.쿼리 문자열 매개 변수로 뷰 모델을 초기화하는 방법

지금 당장 MVVM 방식을 사용하면 얻을 수있는 이점을 비교하려고합니다. 이는 MVVM과 같은 프레임 워크에서 복잡해 질 수있는 간단한 작업의 좋은 예입니다. 내가 잘못된 장소를 들여다 보았을 수도 있지만,이 온라인 사례를 쉽게 찾을 수 없다는 점이 다소 실망 스럽습니다.

감사합니다.

답변

0

뷰에 일부 코드를 삽입하여 뷰 문자열을 ViewModel에 전달하면 MVVM 패턴이 손상되지 않습니다 (아마도 공장 패턴 사용).

this.DataContext = ViewModelFactory.Create(HtmlPage.QueryString["MyVar"]); 

당신은 당신을 돕기 위해 이러한 패턴을 사용하고, 상식 함께 사용, 때로는 일을 복잡하게하고 확장/유지 보수에 역효과를해야한다.

+0

나는 codebehind에서 코드를 유지하는 것에 대해 독단적이지는 않지만 MVVM 프레임 워크에 맞는 더 우아한 방법이있을 것이라고 생각했습니다. 뷰에 매개 변수를 전달하는 것은 보편적 인 기능/동작처럼 보입니다. Silverlight MVVM으로 개발할 때 기본 키를 "세부 사항"보기로 전달하는 방법입니까? –

+0

@Idrise_Coulombe - 실제로 정적 HtmlPage 멤버를 사용하여 ViewModel에서 쿼리 문자열에 액세스 할 수 있습니다. 뷰 모델이 System.Windows.Browser에 종속되도록 만드는 유일한 방법입니다. – Bas

관련 문제