Это вторая часть статьи про новые контролы Windows 8.1, в которой я расскажу вам о незатронутых ранее.
Flyout
Flyout управления используется для отображения “легкого” пользовательского интерфейса в ответ на действия пользователя. По-умолчанию скрытый, всплывает для отображения контекстной информации и исчезает по нажатию мимо элемента.
Контроль Flyout можно использовать с любым FrameworkElement. Однако, обычно он прикрепляется к кнопке, по этому у нее появилось свойство Flyout.
Чтобы использовать всплывающее окно с другими элементами управления, вы должны использовать FlyoutBase.AttachedFlyout — вложенное свойство. Что оно отобразилось необходимо вызвать статический метод FlyoutBase.ShowAttachedFlyout. Этот метод принимает в качестве параметра FrameworkElement.
Результат
У Flyout’а есть свойство размещения (наследуется от FlyoutBase), которое может принимать следующие значения: Top, Bottom, Left, Right, Fulll (в центре экрана), также есть три события Closed, Opened и Opening.
Наконец, FlyoutBase содержит четыре важных метода:
- GetAttachedFlyout (статический): используется для получения выпадающего FrameworkElement’а
- SetAttachedFlyout (статический): используется для подключения к всплывающему FrameworkElement’у
- Hide: скрывает окно
- ShowAt: показать всплывающее окно на контроле
MenuFlyout
Как и в случае Flyout’a MenuFlyout наследуется от FlyoutBase. В отличие от предыдущего контрола MenuFlyout не имеют никакого свойства Content. Вместо этого у него есть свойство Items, который представляет собой список MenuFlyoutItemBase элементов.
Следующих три элемента управления могут быть использованы с MenuFlyout:
- MenuFlyoutItem: используется для выполнения действия (в качестве кнопки)
- ToggleMenuFlyoutItem: переключатель
- MenuFlyoutSeparator: используется для отделения элементов
Вы можете прикрепить MenuFlyout к любому FrameworkElement’у управления на базе FlyoutBase статических методов, подробно описанных выше.
SettingsFlyout
Элемент SettingsFlyout это новый ContentControl, который позволяет создавать панель настроек в секунду. В Windows 8, чтобы создать страницу настроек, нужно было создать свой собственный пользовательский элемент управления, чтобы добавить его в Popup и вручную обрабатывать его размер и положение. С помощью нового управления SettingsFlyout, все это можно уже не делать.
Visual Studio 2013 теперь включает в себя новый шаблон под названием Settings Flyout который генерирует новую страницу.
У SettingsFlyout’a есть заголовок и содержание. В заголовке содержится кнопка назад, название, и значок приложения, которые нельзя менять из XAML. Тем не менее, вы можете изменить эти свойства:
- Title: заголовок страницы
- HeaderBackground: цвет фона заголовка. Этот цвет должен отражать ваше приложение
- HeaderForeground: цвет заголовка. Этот цвет используется для названия и кнопки назад
- IconSource: значок заголовка. По умолчанию — это SmallLogo
Примечание: По умолчанию, страница SettingsFlyout 346px в ширину. Напомним, страница настроек может быть либо 346px или 646px в ширину.
SettingsFlyout содержит три метода, чтобы управлять им программно:
- Show: используется, чтобы показать SettingsFlyout. Когда пользователь нажимает кнопку назад, открывается панель настроек.
- ShowIndependant: используется, чтобы показать SettingsFlyout. Когда пользователь нажимает кнопку назад — пользователь возвращается к приложению
- Hide: прячет панель настроек
Если вы хотите добавить к SettingsFlyout SettingsPane, вы можете добавить этот фрагмент кода в файле App.xaml.cs.
Вы также можете изменить поведение кнопки назад с помощью обработчика события BackClick.
HyperLink
Как следует из названия указывают, данный контрол позволяет добавить гиперссылку во фрагмент текста. Этот элемент управления очень прост в использовании. Единственное важное свойство — NavigateUri, которое является необходимым URI.
В отличие от управления HyperlinkButton, которые уже имеются в Windows 8, гиперссылка идеально сочетается с остальным текстом.
SearchBox
Это новый элемент управления, который позволяет пользователям искать контент в своих приложениях. Этот контрол будет подробно описано в следующих частях этой серии.
CommandBar
Это специализированная панель приложения (наследуется от AppBar), который используется только для отображения команд. Этот контрол также будет подробно описан в следующей части этой серии.
Обновления контролов
WebView
Если вы программировали под Windows 8, вы, вероятно, были очень разочарованы в WebView. Он был прост в использовании, но в тот же момент был полон ошибок и бедным в плане возможностей. В ОС Windows 8.1 WebView, как новый элемент управления — больше нет проблем с рендерингом, новые события для управления навигацией и множество новых функций.
В принципе, новый WebView является очень простым в использовании. Есть четыре новых событий, которая позволяет контролировать жизненный цикл:
- NavigationStarting: вызывается при переходе к новой странице
- ContentLoading: возникает, когда содержание начинает загрузку
- NavigationCompleted: возникает, когда страница полностью загружена (LoadCompleted не рекомендуется)
- NavigationFailed: возникает, если произошли проблемы в навигации
Результат
Примечание: Как вы можете видеть, AppBar теперь отображается в верхней части WebView.
WebView теперь имеет новые методы для базовой навигации: GoBack, GoForward, Refresh и Stop.
Вы также можете использовать WebView, чтобы перейти к локальному контенту с помощью метода NavigateToLocalStreamUri:
- Создать Uri объект с помощью метода WebView BuildLocalStreamUri
- Создание класса, которые реализуют IUriToStreamResolved чтобы получить поток HTML файла, который вы хотите отобразить
- Перейдите к локальному контенту методом NavigateToLocalStreamUri
Другие обновления.
Ниже приведен неполный список наиболее важных изменений:
- у 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
Добавить комментарий