Windows Phone 8.1 응용 프로그램의 공용 헤더를 만들려고합니다. 헤더는 모든 페이지에서 공통적이어야합니다. 나는 Windows Phone App Development가 처음이다. 아무도 그렇게 할 수있는 최선의 가장 깨끗한 방법을 제안 할 수 있습니까?Windows Phone 8.1 응용 프로그램의 공통 머리글
0
A
답변
1
옵션 1
당신이 절대적으로 모든 페이지 하나를 제외하지 않고, 당신이 당신의 프레임의 외부 컨트롤을 배치 할 수 있습니다하는 것이 일반적 헤더를 가지고 계획이라면. 그렇게하면 페이지 탐색간에 계속 유지됩니다.
먼저 머리글을 UserControl로 만듭니다 (프로젝트 -> 새 항목 추가 -> 사용자 정의 컨트롤). 그런 다음 App.xaml.cs를 (또는 프레임을 만드는 곳)에 Application.OnLaunched()
재정에, 이제 헤더가 유사한 모든 페이지에 나타납니다이
var grid = new Grid();
grid.Margin = new Thickness(0, 26, 0, 0); // compensate for status bar
grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto });
grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) });
var header = new MyHeaderUserControl();
grid.Children.Add(header);
Grid.SetRow(rootFrame, 1);
grid.Children.Add(rootFrame);
Window.Current.Content = grid;
와 함께이 라인
// Place the frame in the current Window
Window.Current.Content = rootFrame;
교체 이것에 :
몇 가지 포인트 :
- 이런 식으로 앱을 디자인 할 필요가 없었으므로 이런 식으로 돌아가는 결과가 무엇인지 알 수 없습니다.
Window.Current.Content
이Frame
일 것이라고 더 이상 가정 할 수 없습니다 (많은 코드 에서처럼). - XAML 디자이너에서 머리글을 표시하지 않습니다.
- 프레임 요소가
Window.Current.Content
(평소와 같이)으로 설정되면 상태 표시 줄의 모양이 자동으로 보완되는 것 같습니다. 헤더가 상태 표시 줄 아래에 표시되도록 루트 눈금에 26px의 위쪽 여백을 추가해야했습니다. - 페이지 전환은 프레임에 의해 제공되며 헤더는 프레임 외부에 있으므로 페이지 전환에 참여하지 않습니다.
옵션 2
당신은 헤더를 표시하거나 데이터 바인딩을 통해 일부 페이지 특정 데이터에 헤더의 내용을 변경하는 일부 페이지를 제외하고 같은 더 많은 유연성을 원하는 경우에, 루트 프레임을 변경하지 말고 수동으로 원하는 페이지에 헤더를 포함시키는 것이 좋습니다. 앱이 몇 페이지에 간단한 경우
후 첫 번째 옵션은 앱이 다음 후자를 대신 할 수 있습니다 복잡하지만 경우, 아마도 가장 쉬운 방법입니다. 개인적으로 최대한의 유연성을 원하기 때문에 항상 후자의 옵션을 선택합니다.
관련 문제
- 1. Windows Phone 8.1 응용 프로그램의 목록보기 필터링
- 2. Windows Phone 8.1 WinRT 응용 프로그램의 사용자 지정 메시지 상자
- 3. Windows Phone 8.1 Universal 응용 프로그램의 MediaPlayerLauncher 대체
- 4. 다른 응용 프로그램의 Windows Phone 8.1 공개 링크
- 5. Windows Phone 8.1 응용 프로그램 서명
- 6. Windows Phone 8.1 Store VS Windows Phone 8.1 Silverlight
- 7. Windows Phone 8.1 IRC
- 8. Windows Phone 8.1 API
- 9. Windows phone 8.1 개발
- 10. windows phone 8.1 history
- 11. Windows phone 업그레이드 8 Windows Phone 8.1 응용 프로그램
- 12. Windows Phone 8.0 Windows Phone 응용 프로그램 8.1
- 13. BackGround 작업은 지속적입니까? (Windows/Windows Phone 8.1)
- 14. Windows Phone 8.1 Scrollviewer
- 15. Windows Phone 8.1 : USSD
- 16. Windows Phone 응용 프로그램의 기부
- 17. 응용 프로그램의 Windows Phone 타일
- 18. Windows Phone 8.1 응용 프로그램을 닫는 방법
- 19. Windows Phone 8.1 응용 프로그램, 피벗 마진?
- 20. Windows Phone 8.1 응용 프로그램이 열렸습니다
- 21. 응용 프로그램 일시 중지 Windows Phone 8.1
- 22. 내 Windows Phone 8.1 응용 프로그램에서 모델
- 23. WCF를 사용하는 Windows Phone 8.1 응용 프로그램
- 24. Windows phone 8.1 마법사 컨트롤
- 25. Windows 8.1 응용 프로그램의 FlipView 렌더링 문제
- 26. EasilyClientDeviceInformation.Id Windows Phone 8.1 (IGetDeviceUniqueIDWrapper?)
- 27. Windows phone 8.1 백그라운드 작업
- 28. 이미지가있는 Windows Phone 8.1 LongListSelector
- 29. HttpClient with Windows Phone 8.1
- 30. Windows Phone 8.1 응용 프로그램 오류가 Windows Phone Silverlight 8.1 새 소켓 예외 호출
답장을 보내 주셔서 감사합니다. 두 번째 접근 방식을 결정했습니다. –