Основы проектирования навигации для приложений Windows

Заголовок

Если вы считаете приложение коллекцией страниц, навигация описывает действие перемещения между страницами и на странице. Это отправная точка взаимодействия с пользователем, и это то, как пользователи находят содержимое и функции, которые они интересуют. Это очень важно, и это может быть трудно сделать правильно.

У вас есть огромное количество вариантов для навигации. Вы можете:

Пример навигации 1 Требовать, чтобы пользователи проходили по ряду страниц по порядку.

Пример навигации 2 Укажите меню, позволяющее пользователям переходить непосредственно на любую страницу.

Пример навигации 3 Поместите все на одну страницу и предоставьте механизмы фильтрации для просмотра содержимого.

Хотя для каждого приложения нет единой структуры навигации, существуют принципы и рекомендации, которые помогут вам решить правильный дизайн приложения.

Принципы хорошей навигации

Начнем с основных принципов хорошей структуры навигации:

  • Согласованность: Соответствуйте ожиданиям пользователей.
  • Простота: Не делайте больше, чем вам нужно.
  • Ясность: Укажите четкие пути и опции.

Согласованность

Навигация должна соответствовать ожиданиям пользователей. Использование стандартных элементов управления , с которыми знакомы пользователи, и следующие стандартные соглашения для значков, расположений и стилей позволяют сделать навигацию прогнозируемой и интуитивно понятной для пользователей.

изображение компонентов страницы

Пользователи ожидают найти определенные элементы пользовательского интерфейса в стандартных расположениях.

Простота

Меньше элементов навигации упрощают принятие решений для пользователей. Предоставление простого доступа к важным местам назначения и скрытие менее важных элементов поможет пользователям получить место, где они хотят, быстрее.

Снимок экрана: зеленая полоса с зеленым флажоком и словом Do в нем.

navview good

Представление элементов навигации в знакомом меню навигации.

Не пример

Navview bad

Не перегружать пользователей с множеством вариантов навигации.

Понятность

Четкие пути позволяют использовать логическую навигацию для пользователей. Сделать параметры навигации очевидными и прояснить отношения между страницами должно помочь избежать того, чтобы пользователи терялись.

Снимок экрана: макет приложения с четкими путями для навигации для пользователя.

Назначения четко помечены, чтобы пользователи знали, где они находятся.

Общие рекомендации

Теперь давайте рассмотрим наши принципы проектирования- согласованность, простота и ясность- и используйте их для создания некоторых общих рекомендаций.

  • Подумайте о своих пользователях. Определение типичных маршрутов, которые пользователи могут пройти через приложение, и для каждой страницы подумайте о том, почему пользователь там и куда он может захотеть перейти.
  • Избегайте глубоких иерархий навигации. Если вы выходите за рамки двух уровней навигации, укажите хлебные крошки, которые показывают пользователю, где они находятся, и позволяют им быстро вернуться. В противном случае вы рискуете оставить пользователя в глубокой иерархии, из которой им будет сложно выбраться.
  • Избегайте "pogo-sticking". Это происходит, когда есть связанное содержимое, но доступ к нему требует, чтобы пользователь сначала поднялся на один уровень вверх, а затем спустился снова вниз.

Использование правильной структуры

Теперь, когда вы знакомы с общими принципами навигации, как структурировать приложение? Существует две общие структуры: плоские и иерархические.

Страницы, расположенные в плоской структуре

Плоский/боковой

В плоской или боковой структуре страницы существуют параллельно. Вы можете перейти с одной страницы на другую в любом порядке.

Мы рекомендуем использовать плоскую структуру, когда:

  • Страницы можно просматривать в любом порядке.
  • Страницы четко отличаются друг от друга и не имеют очевидных отношений родителя и ребенка.
  • В группе меньше 8 страниц.
    (Если есть больше страниц, пользователям может быть трудно понять, как страницы уникальны или понять их текущее расположение в группе. Если вы не думаете, что это проблема для вашего приложения, перейдите вперед и сделайте страницы одноранговых узлов. В противном случае рекомендуется использовать иерархическую структуру, чтобы разбить страницы на две или более небольшие группы.)

Страницы, расположенные в иерархии

Иерархический

В иерархической структуре страницы упорядочены в виде дерева. У каждой дочерней страницы есть один родитель, но у родительской страницы может быть одна или несколько дочерних страниц. Чтобы получить доступ к дочерней странице, вы проходите через родительскую страницу.

Иерархические структуры хороши для организации сложного содержимого, охватывающего множество страниц. Недостатком является некоторая сложность навигации: чем глубже структура, тем больше требуется щелчков, чтобы перейти с одной страницы на другую.

Мы рекомендуем иерархическую структуру, когда:

  • Страницы должны проходить по определенному порядку.
  • Между страницами существует четкая связь "родитель-дочь".
  • В группе имеется более 7 страниц.

приложение с гибридной структурой

Объединение структур

Вам не нужно выбирать одну структуру или другую; многие хорошо разработанные приложения используют оба. Приложение может использовать неструктурированные структуры для страниц верхнего уровня, которые можно просматривать в любом порядке, и иерархические структуры для страниц с более сложными связями.

Если структура навигации имеет несколько уровней, рекомендуется, чтобы одноранговые элементы навигации ссылались только на одноранговые элементы в текущем поддереве. Рассмотрим смежную иллюстрацию, в которой показана структура навигации с двумя уровнями:

  • На уровне 1 элемент одноранговой навигации должен предоставлять доступ к страницам A, B и C.
  • На уровне 2 элементы одноранговой навигации для страниц A2 должны ссылаться только на другие страницы A2. Они не должны ссылаться на страницы уровня 2 в поддереве C.

Использование правильных элементов управления

После принятия решения о структуре страницы необходимо решить, как пользователи перемещаются по этим страницам. XAML предоставляет различные элементы управления навигацией для обеспечения согласованной и надежной навигации в приложении.

Изображение кадра

Frame

За исключением нескольких исключений, любое приложение с несколькими страницами использует кадр. Как правило, приложение имеет главную страницу, содержащую кадр и основной элемент навигации, например элемент управления представлением навигации. Когда пользователь выбирает страницу, кадр загружается и отображает его.

вкладки и поворотное изображение

Верхняя навигация

Отображает горизонтальный список ссылок на страницы на том же уровне. Элемент управления NavigationView реализует верхний шаблон навигации.

Используйте верхнюю навигацию, когда:

  • Вы хотите отобразить все параметры навигации на экране.
  • Требуется больше места для содержимого приложения.
  • Значки не могут четко описать категории навигации.

вкладки и главное изображение

Вкладки

Отображает горизонтальный набор вкладок и соответствующее содержимое. Элемент управления TabView полезен для отображения нескольких страниц (или документов) при предоставлении пользователю возможности переупорядочения, открытия или закрытия вкладок.

Используйте вкладки, когда:

  • Вы хотите, чтобы пользователи могли динамически открывать, закрывать или переупорядочивать вкладки.
  • Вы ожидаете, что одновременно откроется большое количество вкладок.
  • Вы ожидаете, что пользователи смогут легко перемещать вкладки между окнами в приложении, которые используют вкладки, аналогичные веб-браузерам, таким как Microsoft Edge.

вкладки и изображение поворотного элемента

Хлебные крошки

Отображает горизонтальный список ссылок на страницы на каждом из более высоких уровней. Элемент управления BreadcrumbBar реализует шаблон навигации "хлебные крошки".

Используйте навигационную цепочку в следующих случаях:

  • Вы хотите показать путь к текущему местоположению
  • У вас есть много уровней навигации
  • Вы ожидаете, что пользователи смогут вернуться на любой предыдущий уровень

Изображение Navview

Навигация слева

Отображает вертикальный список ссылок на страницы верхнего уровня. Используйте, когда:

  • Страницы существуют на верхнем уровне.
  • Существует множество элементов навигации (более 5)
  • Вы не ожидаете, что пользователи часто переключаются между страницами.

Изображение деталей списка

Список и сведения

Отображает список элементов. При выборе элемента отображается соответствующая страница в разделе сведений. Используйте, когда:

  • Вы ожидаете, что пользователи часто переключаются между дочерними элементами.
  • Вы хотите разрешить пользователю выполнять высокоуровневые операции, такие как удаление или сортировка отдельных элементов или групп элементов, а также разрешить пользователю просматривать или обновлять сведения для каждого элемента.

Список и сведения хорошо подходят для почтовых ящиков, списков контактов и записи данных.

Изображение гиперссылок и кнопок

Гиперссылки

Внедренные элементы навигации могут отображаться в содержимом страницы. В отличие от других элементов навигации, которые должны быть согласованы между страницами, элементы навигации, внедренные в содержимое, уникальны для каждой страницы.

Рекомендации по настраиваемому поведению обратной навигации

Если вы решили предоставить собственную навигацию по обратному стеку, интерфейс должен соответствовать другим приложениям. Рекомендуется следовать следующим шаблонам действий навигации:

Действие навигации Добавить в историю навигации?
Страница на страницу, разные одноранговые группы Да

На этом рисунке пользователь переходит с уровня 1 приложения на уровень 2, пересекая группы пользователей, поэтому эта навигация добавляется в журнал навигации.

Схема навигации по одноранговым группам, показывающая, как пользователь перемещается из группы один в группу два и обратно в группу один.

На следующем рисунке пользователь перемещается между двумя одноранговых группами на одном уровне, снова пересекая одноранговые группы, поэтому навигация добавляется в журнал навигации.

Схема навигации по одноранговым группам, показывающая, как пользователь перемещается из первой группы во вторую, затем в третью и обратно во вторую группу.

Страница на страницу, одна и та же одноранговая группа, без элемента навигации на экране

Пользователь переходит с одной страницы на другую в рамках одной и той же группы пользователей. Нет элемента навигации на экране (например, NavigationView), который обеспечивает прямую навигацию на обоих страницах.

Да

На следующем рисунке пользователь перемещается между двумя страницами в одной одноранговой группе, а навигация должна быть добавлена в журнал навигации.

Навигация в одноранговой группе

Переход от страницы к странице в той же одноранговой группе, с элементом навигации на экране

Пользователь перемещается с одной страницы на другую в той же одноранговой группе. Обе страницы отображаются в одном элементе навигации, например NavigationView.

Смотря как

Да, добавьте в историю навигации, за исключением двух заметных случаев. Если вы ожидаете, что пользователи приложения переключаются между страницами в одноранговой группе часто или если вы хотите сохранить иерархию навигации, не добавляйте в журнал навигации. В этом случае, когда пользователь нажимает назад, вернитесь на последнюю страницу, прежде чем пользователь перешел к текущей группе пользователей.

Навигация по группам одноранговых узлов при наличии элемента навигации

Отображение временного пользовательского интерфейса

В приложении отображается всплывающее окно или дочернее окно, например диалоговое окно, экран-заставка или экранная клавиатура, или приложение входит в специальный режим, например несколько режимов выбора.

Нет

Когда пользователь нажимает кнопку "Назад", закройте временный пользовательский интерфейс (скрытие клавиатуры на экране, отмените диалоговое окно и т. д.) и вернитесь на страницу, которая породила временный пользовательский интерфейс.

Отображение временного пользовательского интерфейса

Перечисление элементов

Приложение отображает содержимое для элемента на экране, например, сведения о выбранном элементе из списка или деталей.

Нет

Перечисление элементов аналогично навигации в одноранговой группе. Когда пользователь нажимает назад, перейдите на страницу, которая предшествовала текущей странице с перечислением элементов.

Перечисление элементов

Далее: добавление кода навигации в приложение

В следующей статье показано, как реализовать базовую навигацию, показан код, необходимый для использования элемента управления для включения базовой Frame навигации между двумя страницами в приложении.