2017-09-27 1 views
0

에 CommandProperty로 현재 ContentPage를 사용합니다.Xamarin.Forms는이 뷰 모델의 명령에 대한 <code>CommandParameter</code> 같은 뷰 모델에 결합되어, 나는 현재 표시 ContentPage 필요 XAML

처럼 :

<Button Text="Save" 
     Command="{Binding AddObjectAndClosePage}" 
     CommandParameter={Binding MyContentPage} /> 

그러나 자 마린은 ElementName 바인딩을 지원하지 않습니다. ContentPage를 매개 변수로 사용하려면 어떻게해야합니까?

+0

방법은 내보기 모델 :의 속성이었다. 그러나 그럼에도 불구하고 나는이 접근법이 완전히 잘못되었다는 것을 배웠다. – Tobonaut

답변

1

좋아, 그것은 완전히 내 잘못이었다. 내 접근 방식은 mvvm 패턴의 모든 규칙을 위반했습니다.

당신은 서면으로 당신의 ViewModel에 명령 방법에 Navigation 컨텍스트에 액세스 할 수 있습니다

Application.Current.MainPage.Navigation.PopModalAsync(); 

레슨을 배웠습니다.

+0

프리즘 (Prism)을 사용하는 것을 고려해보십시오. 뷰즘 모델에 삽입 할 수있는 'INavigationService'를 노출하며, 그 목적을 정확하게 제공합니다. –

+0

@PaulKertscher님께 감사드립니다. 외부 의존성을 추가하기 전에 먼저 기본 사항을 "이해"하고 싶었 기 때문에이를 무시했습니다. 그러나 이것이 잘못된 길일 수도 있습니다. – Tobonaut

+0

기본 사항을 이해하는 것이 좋습니다. 그러나 실제 프로젝트가 나오면 바로 프리즘에 호의적입니다.) –

관련 문제