Разработка Windows 8.1 приложений. Новые контролы (часть 2)

Это вторая часть статьи про новые контролы Windows 8.1, в которой я расскажу вам о незатронутых ранее.

Flyout

Flyout управления используется для отображения “легкого” пользовательского интерфейса в ответ на действия пользователя. По-умолчанию скрытый, всплывает для отображения контекстной информации и исчезает по нажатию мимо элемента.

Контроль Flyout можно использовать с любым FrameworkElement. Однако, обычно он прикрепляется к кнопке, по этому у нее появилось свойство Flyout.

png;base64a3d67decbedcc74d

Чтобы использовать всплывающее окно с другими элементами управления, вы должны использовать FlyoutBase.AttachedFlyout — вложенное свойство. Что оно отобразилось необходимо вызвать статический метод FlyoutBase.ShowAttachedFlyout. Этот метод принимает в качестве параметра FrameworkElement.

 png;base6445b1f9e8cf973d69

Результат

png;base643d0c04bda69b10ae

У Flyout’а есть свойство размещения (наследуется от FlyoutBase), которое может принимать следующие значения:  Top, Bottom, Left, Right, Fulll (в центре экрана), также есть три события Closed, Opened и Opening.

Наконец, FlyoutBase содержит четыре важных метода:

  1. GetAttachedFlyout (статический): используется для получения выпадающего FrameworkElement’а
  2. SetAttachedFlyout (статический): используется для подключения к всплывающему FrameworkElement’у
  3. Hide: скрывает окно
  4. ShowAt: показать всплывающее окно на контроле

MenuFlyout

Как и в случае Flyout’a MenuFlyout наследуется от FlyoutBase. В отличие от предыдущего контрола MenuFlyout не имеют никакого свойства Content. Вместо этого у него есть свойство Items, который представляет собой список MenuFlyoutItemBase элементов.

Следующих три элемента управления могут быть использованы с MenuFlyout:

  1. MenuFlyoutItem: используется для выполнения действия (в качестве кнопки)
  2. ToggleMenuFlyoutItem: переключатель
  3. MenuFlyoutSeparator: используется для отделения элементов

 png;base64c95d5a35b3bfa03c

Вы можете прикрепить MenuFlyout к любому FrameworkElement’у управления на базе FlyoutBase статических методов, подробно описанных выше.

 SettingsFlyout

 Элемент SettingsFlyout это новый ContentControl, который позволяет создавать панель настроек в секунду. В Windows 8, чтобы создать страницу настроек, нужно было создать свой собственный пользовательский элемент управления, чтобы добавить его в Popup и вручную обрабатывать его размер и положение. С помощью нового управления SettingsFlyout, все это можно уже не делать.

Visual Studio 2013 теперь включает в себя новый шаблон под названием Settings Flyout который генерирует новую страницу.

 png;base64e9b943cea095033d

png;base64e57a8a8eb8c32566

У SettingsFlyout’a есть заголовок и содержание. В заголовке содержится кнопка назад, название, и значок приложения, которые нельзя менять из XAML. Тем не менее, вы можете изменить эти свойства:

  • Title: заголовок страницы
  • HeaderBackground: цвет фона заголовка. Этот цвет должен отражать ваше приложение
  • HeaderForeground: цвет заголовка. Этот цвет используется для названия и кнопки назад
  • IconSource: значок заголовка. По умолчанию — это SmallLogo

Примечание: По умолчанию, страница SettingsFlyout 346px в ширину. Напомним, страница настроек может быть либо 346px или 646px в ширину.

png;base641c7f9fbef1ac2920

SettingsFlyout содержит три метода, чтобы управлять им программно:

  • Show: используется, чтобы показать SettingsFlyout. Когда пользователь нажимает кнопку назад, открывается панель настроек.
  • ShowIndependant: используется, чтобы показать SettingsFlyout. Когда пользователь нажимает кнопку назад —  пользователь возвращается к приложению
  • Hide: прячет панель настроек


Если вы хотите добавить к SettingsFlyout SettingsPane, вы можете добавить этот фрагмент кода в файле App.xaml.cs.

png;base642657ce09253d502

Вы также можете изменить поведение кнопки назад с помощью обработчика события BackClick.

 HyperLink

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

В отличие от управления HyperlinkButton, которые уже имеются в Windows 8, гиперссылка идеально сочетается с остальным текстом.

 png;base64d749b843ffb9335d

SearchBox

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

CommandBar

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

Обновления контролов

 WebView

Если вы программировали под Windows 8, вы, вероятно, были очень разочарованы в WebView. Он был прост в использовании, но в тот же момент был полон ошибок и бедным в плане возможностей. В ОС Windows 8.1 WebView, как новый элемент управления — больше нет проблем с рендерингом, новые события для управления навигацией и множество новых функций.

В принципе, новый WebView является очень простым в использовании. Есть четыре новых событий, которая позволяет контролировать жизненный цикл:

  • NavigationStarting: вызывается при переходе к новой странице
  • ContentLoading: возникает, когда содержание начинает загрузку
  • NavigationCompleted: возникает, когда страница полностью загружена (LoadCompleted не рекомендуется)
  • NavigationFailed: возникает, если произошли проблемы в навигации

png;base64c9830fd210e0d70a

Результат

png;base642507123e93c89d74

Примечание: Как вы можете видеть, AppBar теперь отображается в верхней части WebView.

WebView теперь имеет новые методы для базовой навигации: GoBack, GoForward, Refresh и Stop.

Вы также можете использовать WebView, чтобы перейти к локальному контенту с помощью метода NavigateToLocalStreamUri:

  • Создать Uri объект с помощью метода WebView BuildLocalStreamUri
  • Создание класса, которые реализуют IUriToStreamResolved чтобы получить поток HTML файла, который вы хотите отобразить
  • Перейдите к локальному контенту методом NavigateToLocalStreamUri

 

png;base64ac1ffad8bdf7b7ad

Другие обновления.

Ниже приведен неполный список наиболее важных изменений:

  • у ComboBox, Slider, TextBox и PasswordBox RichEditBox появился заголовок и свойство HeaderTemplate.
  • у ComboBox, PasswordBox, RichEditBox и TextBox появилось свойство PlaceholderText, которое вы можете использовать для установки тексту значения по умолчанию
  • у FlipView появилось возможность управления анимацией
  • у ScrollViewer новые свойства TopHeader, LeftHeader и aTopLeftHeader, позволяющий определить содержание, которое не прокручивается
  • у TextBlock, RichTextBlock RichTextBlockOverflow  появилось свойство MaxLines
  • у TextBlock, TextBox RichTextBlock PasswordBox появилось свойство SelectionHighlightColor.
  • у TextBox, RichEditBox PasswordBox появилось событие Past

Что дальше?

В этой и предыдущей части вы увидели новые контролы Windows 8.1. Hub позволяет создать большую “панораму” с “богатым” содержанием. Flyout используются для отображения “легкого” пользовательского интерфейса. DatePicker, TimePicker, HyperLink появились для улучшения ваших форм и текста.

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

 

Ссылка на источник: Developing a Windows 8.1 application (2/8): new controls

 

 

Реклама
Tagged with: , , , , , , ,
Опубликовано в Development, Windows 8.1

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: