2009-06-08 6 views
2

현재 기본 파일 인 page.xaml을로드하고 있지만 해당 페이지에서 다른 xaml 파일의 내용을로드하고 있습니다. 각 "페이지"가 ​​변경 될 때마다 다른 xaml 파일에서 내용을로드합니다.Silverlight 응용 프로그램의 "페이지"간에 어떻게 전환합니까?

예 : this.Content = new StartPage();

그러나 콘텐츠를 변경하는 방식 때문에 문법적으로 문제가있어 궁금한 점이 있습니까? 사용자의 키 입력을 캡처 할 때 예를 들어

, 내가 일반적으로 할 것 :

this.Keydown + = 새 KeyEventHandler (this_KeyDown);

하지만 내 상황에서는 해당 이벤트 처리기가 실행되지 않습니다. 따라서 키 스트로크 문제를 다시 살펴보기 전에 콘텐츠 전환 방식에 대한 새로운 접근 방식을 찾고 있습니다.

+0

Keydown 문제와 관련하여 별도의 질문이있는 것으로 간주 될 수 있습니다. 탐색과 관련이없는 것처럼 보입니다. –

답변

1

Silverlight 3을 사용 해본 적이 있습니까? 새로운 페이지 탐색 기능이 있습니다. Silverlight 3 Navigation

0

콘텐츠 전환이 이루어지는 한, 나는 항상 당신이 질문에서 제안한 것을했습니다. 일반적으로 응용 프로그램 프레임이있는 MainPage.xaml을 만듭니다 (대개 그리드 용). Grid의 셀 중 하나가 앱의 콘텐츠 영역으로 간주됩니다. 사용자가 탐색으로 간주하는 작업을 수행하면 MyUserControl.xaml과 같은 파일 인 페이지의 새 인스턴스를 만든 다음 Grid의 해당 내용 셀에 추가합니다. MainPage는 응용 프로그램의 수명을 유지하고 탐색을 지원합니다.

뭔가를 더 좋아하고 브라우저 기반의 뒤로/앞으로 버튼을 사용하려면 Correl과 같은 SL3 탐색을 살펴볼 수 있습니다.

0

큰 문제는 프레임 워크 요소를 생성하고 코드 숨김으로 연결하여 프레임 워크 요소를 스왑하면 자동으로 저널링이 수행되지 않는다는 것입니다. 즉, 브라우저의 앞뒤 기능을 잃어 버리게됩니다. 페이지를 교체 할 때 수작업으로 업무 일지를 기록 할 수 있습니다. 그러나 이는 단순히 탐색 접근 방식을 작동시키는 해킹 일뿐입니다.

www.compositewpf.codeplex.com/의 프리즘, 특히 GUI 디자인의 MVVM 방법을 살펴보면 나중에 많은 시간을 절약 할 수 있습니다. MVVM을 볼 때 하드 코어가 필요 없다는 것을 기억하십시오. 한 사람의 밴드 인 경우 항상 "동적"기능을 많이 사용할 수 있습니다.

또한 실버 라이트 3으로 바꾸고 탐색 응용 프로그램을 사용하십시오. 만약 당신이 기울이지 않는다면, helix 0.3을 살펴보면, 더 많은 asp 지향 탐색 방법을 제공 할 것입니다. 링크는 정말 좋은 출발점을 제공합니다. 세 부분으로 구성된 기사입니다. 세 가지를 모두 읽고 샘플 애플리케이션을 다운로드하고 이해하는 것이 좋습니다.

도서가 귀하의 질문에 작성되었을 수 있습니다. 현재로서는 충분합니다.

관련 문제