2013-05-18 3 views
0

나는 mainpage.xaml에 텍스트 블록을 가지고 있습니다. 그 값은 관찰 가능한 컬렉션에 바인딩되어 있고 값은 해당 페이지의 사용자 이벤트에 따라 변경되는 텍스트 블록이있는 다른 페이지가 있습니다. 이 다른 페이지의 textblock 값을 mainpage.xaml의 textblock 값에 바인딩하려면 어떻게합니까?다른 페이지에서 Datacontext에 바인딩하는 방법

아무에게도이 리소스를 제공하거나 해결 방법을 설명하는 예제를 제공 할 수 있습니까?

+0

한 페이지에서 다른 페이지로 어떻게 이동합니까? 한 페이지에서 다른 페이지로 값을 전달할 수 있습니까? – kimsk

+0

왜 두 textblock을 viewmodel (observable 컬렉션)에 바인딩하지 않습니까? –

답변

1

글쎄, 서로 다른 페이지의 두 컨트롤의 속성을 동시에 표시 할 수 없으므로 직접 바인딩 할 수 없습니다. 다른 곳에서 주를 저장하고 거기에서 값을 검색해야합니다.

기본적으로 어플 리케이션 상태는 App 클래스 또는 싱글 톤/정적 속성에 저장해야합니다. 대안으로 페이지 사이에 상태를 유지 (파일 또는 설정)하고 페이지를로드 할 때 다시 검색 할 수 있습니다.

어쨌든 두 페이지의 컨트롤을 응용 프로그램 상태에서 값을 검색하거나 거기에 저장되는 뷰 모델에 바인딩해야합니다. 이렇게하면 한 페이지에서 설정된 값이 다른 페이지에 반영됩니다.

페이지를 탐색하는 방법에 따라 매개 변수도 활용할 수 있지만 (Frame.Navigate(typeof(OtherPage), parameter)) 기본 스타일 만이 방법으로 전송할 수 있습니다. 따라서 ID를 전송할 수는 있지만 완료 할 수는 없습니다. 사물.

관련 문제