Я пытаюсь создать общий заголовок для моего приложения Windows Phone 8.1. Заголовок должен быть общим для всех страниц. Я новичок в разработке приложений для Windows Phone. Может ли кто-нибудь предложить лучший и самый чистый способ сделать это?Общий заголовок для Windows Phone 8.1 Приложение
ответ
Вариант 1
Если вы планируете иметь заголовок, общий для абсолютно всех страницы без учета каких-либо, вы можете разместить свой контроль за пределами вашей рамы. Таким образом, он будет сохраняться между страницами навигации.
Сначала создайте свой заголовок как UserControl (Project -> Добавить новый элемент -> User Control). Затем в Application.OnLaunched()
переопределения в App.xaml.cs (или там, где вы создаете раму), замените эту строку
// Place the frame in the current Window
Window.Current.Content = rootFrame;
с этим
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;
Теперь ваш заголовок будет отображаться на всех страницах подобных к этому:
Некоторые моменты:
- Мне никогда не приходилось создавать такое приложение раньше, поэтому я не знаю, каковы будут последствия этого. Вы уже не можете считать, что
Window.Current.Content
будетFrame
(как много кода). - Дизайнер XAML не отображает заголовок.
- Элемент Frame автоматически компенсирует появление строки состояния, когда установлено значение
Window.Current.Content
(как обычно). Я должен был добавить верхний край 26px в корневую сетку, чтобы заголовок отображался под строкой состояния. - Переходы страницы предоставляются кадром, а поскольку заголовок находится вне кадра, он не будет участвовать в переходах страниц.
Вариант 2
Если вы хотите больше гибкости, например, за исключением некоторых страниц из отображения заголовка или изменений содержимого заголовка некоторых указания конкретных данных, посредством связывания данных, то, Я предлагаю вам не менять корневой фрейм, а вместо этого включать заголовок вручную на нужные вам страницы.
Если ваше приложение просто с несколькими страницами, то первый вариант, вероятно, самый простой, но если ваше приложение является сложным, то вы можете вместо последнего. Лично я всегда выбирал последний вариант, просто потому, что мне нужна максимальная гибкость.
- 1. Windows Phone 8.1 приложение Многоязычный
- 2. Офлайн-приложение: Windows phone 8.1
- 3. Получить общий размер LocalFolder Windows Phone 8.1
- 4. Порт windows phone 8.1 приложение для android
- 5. Обложка для Windows Phone 8.1
- 6. Windows Phone 8.1 Store VS Windows Phone 8.1 Silverlight
- 7. Windows Phone 8.0 To Windows Phone 8.1 Приложение
- 8. Разница между Windows Phone 8.1 и Windows Phone Silverlight 8.1
- 9. Windows phone 8.1 HttpWebRequest
- 10. Как защитить приложение Windows Phone 8.1?
- 11. Windows Phone 8.1 WebAuthenticationBrokerContinuationEventArgs
- 12. windows phone 8.1 универсальное приложение: ясное печенье
- 13. Интерактивный MapIcon, Windows Phone 8.1 Универсальное приложение
- 14. Приложение Windows Phone 8.1, поля поворота?
- 15. Windows Phone 8.1 Приложение Javascript - используйте камеру
- 16. Справочная информация в Windows Phone 8.1 приложение
- 17. Windows Phone 8.1 Scrollviewer
- 18. Windows Phone 8.1 NullRefrenceException
- 19. Приложение Windows Phone 8.1 Ошибка щелчка
- 20. Windows Phone 8.1 Suspend
- 21. Приложение видеомагнитофона в Windows Phone 8.1
- 22. LightInject для Windows Phone 8.1
- 23. Как вы бета Windows Phone 8.1 приложение
- 24. Windows Phone 8.1 Запретить приложение вращаться
- 25. windows phone 8.1 приложение активирование initiallized
- 26. Тостер сообщение в Windows Phone 8.1 приложение
- 27. Заставка приложение на Windows Phone 8.1
- 28. Как закрыть Windows Phone 8.1 приложение
- 29. Windows Phone 8.1 приложение ProgressRing, не показывающее
- 30. Windows Phone 8.1 Приложение не отображает MessageDialog
Спасибо за ответ. Решил пойти со вторым подходом. –