Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Windows 10 сборки 10240 и обновленный пакет SDK предоставляют средства, функции и возможности для создания замечательных приложений универсальной платформы Windows. После установки средств и пакетов SDK в Windows 10 вы можете либо создать новое универсальное приложение для Windows, либо узнать, как использовать существующий код приложения в Windows.
Ниже приведены новые возможности Windows 10 сборки 10 10240 (Также известная как Windows 10 версии 1507).
Адаптивные макеты
Функция | Описание |
---|---|
Несколько вариантов отображения для контента, адаптированного под нужды | XAML обеспечивает новую поддержку определения специализированных представлений (XAML-файлов), совместно использующих один и тот же файл кода. Это упрощает создание и обслуживание различных представлений, адаптированных к определенному семейству устройств или сценарию. Если в приложении есть различные модели пользовательского интерфейса, макета или навигации, которые существенно отличаются для различных сценариев, создайте несколько представлений. Например, вы можете использовать Pivot с навигацией, оптимизированной для однорукого использования в вашем мобильном приложении, но использовать SplitView с меню навигации, оптимизированным для мыши в настольном приложении. |
Триггеры состояний | Используя новую функцию VisualState.StateTriggers , можно условно задать свойства на основе высоты окна или ширины или на основе пользовательского триггера. Ранее необходимо было обрабатывать события Window SizeChanged в коде и вызывать VisualStateManager.GotoState. |
Сеттеры | С помощью нового синтаксиса VisualState.Setters можно использовать упрощенную разметку для определения изменений свойств в VisualStateManager. Ранее приходилось использовать Storyboard и создавать анимации для внесения изменений свойств, таких как изменение ориентации StackPanel с горизонтальной на вертикальную. В универсальных приложениях Windows можно использовать более простой синтаксис setter: <setter target="stackPanel1.Orientation" value="Vertical" /> |
Функции XAML
Функция | Описание |
---|---|
Скомпилированные привязки данных (x:Bind) | В универсальных приложениях Windows можно использовать новый механизм привязки на основе компилятора, включенный свойством x:Bind. Привязки на основе компилятора строго типизированы и обрабатываются во время компиляции, что происходит как быстрее, так и обеспечивает ошибки времени компиляции при несоответствии типов привязки. Так как привязки преобразуются в скомпилированный код приложения, теперь можно выполнять отладку привязок путем пошагового выполнения кода в Visual Studio для диагностики конкретных проблем привязки. Для привязки к методу можно также использовать x:Bind, как показано здесь: <textblock text="{x:Bind Customer.Address.ToString()}" /> В типичных сценариях привязки можно использовать x:Bind вместо Binding, что обеспечивает улучшенную производительность и удобство обслуживания. |
Декларативная инкрементальная отрисовка списков (x:Phase) | В универсальных приложениях Windows новый атрибут x:Phase позволяет выполнять добавочную или поэтапную отрисовку списков с помощью XAML вместо кода. При сдвиге длинных списков с сложными элементами ваше приложение может не иметь возможности быстро отображать элементы, чтобы обеспечить скорость сдвига, создавая плохой интерфейс для пользователей. Поэтапное отрисовка позволяет указать приоритет отрисовки отдельных элементов в элементе списка, поэтому в сценариях быстрого сдвига отображаются только наиболее важные части элемента списка. Это обеспечивает более плавное перемещение для ваших пользователей. В Windows 8.1 можно обрабатывать событие ContainerContentChanging и писать код для отображения элементов списка на этапах. В приложениях UWP можно выполнять поэтапное отображение декларативно с помощью атрибута x:Phase. Используемая в сочетании со скомпилированными привязками x:Bind, функция x:Phase позволяет легко указать приоритет отрисовки для каждого связанного элемента в шаблоне данных. При панорамировании работа по отрисовке элементов разбивается на разные фазы, что позволяет выполнять отрисовку элементов поэтапно. |
Отложенная загрузка элементов пользовательского интерфейса (x:deferLoadstrategy) | В универсальных приложениях Windows новая директива x:deferLoadstrategy позволяет указать части пользовательского интерфейса, которые будут отложены, что повышает производительность запуска и уменьшает использование памяти приложения. Например, если в пользовательском интерфейсе приложения есть элемент проверки данных, который отображается только при вводе неправильных данных, можно отложить загрузку этого элемента до тех пор, пока он не потребуется. Затем объекты элементов не создаются при загрузке страницы; Вместо этого они создаются только при возникновении ошибки данных и их необходимо добавить в визуальное дерево страницы. |
SplitView | Новый элемент управления SplitView позволяет легко отображать и скрывать временное содержимое. Обычно он используется для сценариев верхнего уровня навигации, таких как "меню гамбургера", где содержимое навигации скрыто и появляется по мере необходимости в результате действия пользователя. |
RelativePanel | RelativePanel — это новая панель макета, которая позволяет размещать и выравнивать дочерние объекты по отношению друг к другу или к родительской панели. Например, можно указать, что некоторый текст всегда должен быть расположен в левой части панели, а кнопка всегда должна выровняться под текстом. Используйте ReleativePanel при создании пользовательских интерфейсов, которые не имеют четкого линейного шаблона, который будет вызывать использование StackPanel или Grid. |
Календарный просмотр | Элемент управления CalendarView упрощает просмотр и выбор дат и диапазонов дат с помощью настраиваемого представления на основе месяца. CalendarView поддерживает такие функции, как минимальные, максимальные и черные даты, чтобы ограничить выбранные даты. Вы также можете установить настраиваемые полосы плотности, которые можно использовать для демонстрации общего "заполнения" расписания в определенный день. |
Выбор даты в календаре | CalendarDatePicker — это выпадающий элемент управления, оптимизированный для выбора одной даты из CalendarView, где контекстная информация, например день недели или заполненность календаря, важна. Это похоже на элемент управления DatePicker, но DatePicker оптимизирован для выбора известной даты, например даты рождения. |
MediaTransportControls | Новый класс MediaTransportControls упрощает настройку элементов управления транспортировкой MediaElement. В Windows 8.1 вы можете включить встроенные транспортные элементы управления MediaElement или создать собственные элементы управления, которые вызывают методы MediaElement. Теперь вы можете использовать встроенные функции MediaTransportControls и по-прежнему легко настроить внешний вид приложения. |
Уведомления об изменении свойств | В универсальных приложениях Windows можно прослушивать изменения свойств в DependencyObjects, даже если свойства не имеют соответствующих событий изменений. Уведомление работает как событие, но на самом деле предоставляется как обратный вызов. Обратный вызов принимает аргумент отправителя так же, как обработчик событий, но не принимает аргумент события. Вместо этого передается только идентификатор свойства, указывающий, какое свойство. С помощью этих сведений приложение может определить один обработчик для нескольких уведомлений о свойствах. Для получения дополнительной информации см. разделы RegisterPropertyChangedCallback и UnregisterPropertyChangedCallback. |
Карты | Класс MapControl был обновлен, чтобы обеспечить трехмерные изображения с воздуха и представления на уровне улицы. Эти новые функции и более ранние функции сопоставления теперь доступны для универсальных приложений Windows. Добавьте сопоставление в приложение со следующими API-интерфейсами: Windows.UI.Xaml.Controls.Maps и Windows.Services.Maps. Чтобы начать использовать эти API в универсальном приложении Windows сегодня, запросите ключ из центра разработчиков Карт Bing. Дополнительные сведения см. в разделе "Проверка подлинности приложения "Карты". Кроме того, пользователи ПК и телефонов в Windows 10 могут скачать автономные карты из приложения «Параметры». Когда доступны, автономные карты используются MapControl для отображения карт при отсутствии доступа к Интернету. |
Сопоставление кнопок ввода | Класс Windows.UI.Xaml.Input.KeyEventArgs имеет новое свойство OriginalKey, которое, вместе с соответствующим обновлением для Windows.System.VirtualKey, позволяет получить исходную кнопку ввода, не преобразованную и связанную с событием ввода клавиатуры. |
Рисование | Теперь проще использовать мощные возможности рукописного ввода в приложениях среды выполнения Windows с помощью C++, C# или Visual Basic, благодаря элементу управления InkCanvas и базовым классам, таким как InkPresenter. Элемент управления InkCanvas определяет область наложения для рисования и отображения росчерков рукописного ввода. Функционал этого элемента управления (ввод, обработка и отрисовка) обеспечивается классами InkPresenter, InkStroke, InkRecognizersи InkSynchronizer. Важный: Эти классы не поддерживаются в приложениях Windows с помощью JavaScript. |
Обновленные функции XAML
Функция | Описание |
---|---|
Обновления CommandBar и AppBar | Элементы управления CommandBar и AppBar были обновлены, чтобы иметь согласованный API, поведение и взаимодействие с пользователем для приложений UWP в семействах устройств. Элемент управления CommandBar для универсальных приложений Windows был улучшен, чтобы обеспечить супермножество функций AppBar и большую гибкость в том, как его можно использовать в приложении. Для всех новых универсальных приложений Windows в Windows 10 следует использовать CommandBar. В CommandBar в Windows 8.1 можно использовать только элементы управления, реализованные Элемент управления AppBar обновлен, чтобы упростить перемещение приложений Windows 8.1, использующих AppBar на универсальную платформу Windows. AppBar был разработан для использования с полноэкранными приложениями и вызова с помощью краевых жестов. Обновления учетной записи контроля для таких проблем, как окна приложений и отсутствие жестов на гранях в Windows 10. Скрытый режим AppBar.ClosedDisplayMode, ранее доступный только на Windows Phone, теперь поддерживается во всех семействах устройств, позволяя выбирать между различными уровнями подсказок для команд. В AppBar отображается минимальный намек по умолчанию, чтобы обеспечить согласованность при обновлении приложений Windows 8.1 до универсальных приложений Windows, где вы больше не можете полагаться на поддержку пограничных жестов на платформе. |
Обновления GridView | До Windows 10 ориентация макета GridView по умолчанию была горизонтальной в Windows и вертикальной на Windows Phone. В приложениях UWP GridView по умолчанию использует вертикальный макет для всех семейств устройств, чтобы обеспечить согласованный интерфейс по умолчанию. |
Свойство AreStickyGroupHeadersEnabled | При отображении сгруппированных данных в ListView или GridView заголовки групп теперь остаются видимыми при прокрутке списка. Это важно в больших наборах данных, где заголовок предоставляет контекст для данных, которые пользователь просматривает. Однако в случаях, когда в каждой группе только несколько элементов, может потребоваться, чтобы заголовки прокручивались с элементами за пределы экрана. Для управления этим поведением можно задать свойство AreStickyGroupHeadersEnabled на ItemsStackPanel и ItemsWrapGrid. |
Метод GroupHeaderContainerFromItemContainer | При появлении сгруппированных данных в ItemsControl можно вызвать метод GroupHeaderContainerFromItemContainer , чтобы получить ссылку на родительский заголовок группы. Например, если пользователь удаляет последний элемент в группе, вы можете получить ссылку на заголовок группы и удалить как заголовок элемента, так и заголовок группы. |
Выбор событияGroupHeaderContainer | Новое событие ChoosingGroupHeaderContainer в ListViewBase позволяет задать состояние заголовков групп в ListView или GridView. Например, можно обработать это событие, чтобы задать AutomationProperties.NameProperty в заголовке группы, чтобы представить группу в вспомогательных технологиях. |
Выбор событияItemContainer | Новое событие ChoosingItemContainer в ListViewBase предоставляет более полный контроль над виртуализацией пользовательского интерфейса в ListView или GridView. Используйте это событие в сочетании с событием ContainerContentChanging для поддержания собственной очереди переработанных контейнеров, которыми можно пользоваться по мере необходимости. Например, если источник данных был сброшен из-за фильтрации, можно быстро сопоставить уже созданный набор визуальных элементов (ItemContainers) с данными, чтобы обеспечить наилучшую производительность. |
Виртуализация прокрутки списка | Элементы управления XAML ListView и GridView имеют новое событие ListViewBase.ChooseingItemContainer, которое повышает производительность элемента управления при изменении в коллекции данных. Вместо того чтобы полностью сбросить список, что вызывает воспроизведение анимации входа, система теперь сохраняет элементы, которые видны на экране, а также состояние фокуса и выделения; новые и удаленные элементы плавно появляются и исчезают из области просмотра. После изменения коллекции данных, в которой контейнеры не уничтожены, приложение может быстро сопоставить любые "старые" элементы с предыдущим контейнером и пропустить дальнейшую обработку методов переопределения жизненного цикла контейнера. Обрабатываются только "новые" предметы и упаковываются в переработанные или новые контейнеры. |
Метод SelectRange и свойство SelectedRanges | В универсальных приложениях Windows элементы управления ListView и GridView теперь позволяют выбирать элементы с точки зрения диапазонов индексов элементов вместо ссылок на объекты элементов. Это более эффективный способ описания выбора элементов, так как объекты элементов не нужно создавать для каждого выбранного элемента. Дополнительные сведения см. в разделе ListViewBase.SelectedRanges, ListViewBase.SelectRange и ListViewBase.DeselectRange. |
Новые API ListViewItemPresenter | ListView и GridView используют представители элементов для предоставления визуальных элементов по умолчанию для выбора и фокуса. В приложениях UWP ListViewItemPresenter и GridViewItemPresenter имеются новые свойства, позволяющие дополнительно настраивать визуальные элементы для элементов списка. Новые свойства: CheckBoxBrush, CheckMode, FocusSecondaryBorderBrush, PointerOverForeground, PressedBackground и SelectedPressedBackground. |
Обновления SemanticZoom | Элемент управления SemanticZoom теперь имеет одно согласованное поведение для приложений UWP во всех семействах устройств. Действие по умолчанию для переключения между увеличенным представлением и уменьшенным представлением заключается в касании заголовка группы в увеличенном представлении. Это аналогично поведению в Windows Phone 8.1, но это изменение в Windows 8.1, в котором использовался жест сжимания для масштабирования. Чтобы изменить представления с помощью жеста сжатия-разжатия, задайте ScrollViewer.ZoomMode="Активирован" во внутреннем элементе ScrollViewer SemanticZoom. Для универсальных приложений Windows представление в уменьшенном масштабе заменяет представление в увеличенном масштабе и совпадает с размером прежнего представления. Это так же, как поведение в Windows 8.1, но отличается от Windows Phone 8.1, где уменьшенное представление занимало полный размер экрана и отрисовывалось поверх всего остального содержимого. |
Обновления DatePicker и TimePicker | Элементы управления DatePicker и TimePicker теперь имеют одну согласованную реализацию для универсальных приложений Windows во всех семействах устройств. У них также есть новый внешний вид для Windows 10. Всплывающая часть элемента управления теперь использует элементы управления DatePickerFlyout и TimePickerFlyout на всех устройствах. Это аналогично поведению в Windows Phone 8.1, но это отличается от Windows 8.1, которое использовало элементы управления ComboBox. С помощью элементов управления всплывающими меню вы легко создадите настраиваемые инструменты выбора даты и времени. |
Новые API ScrollViewer | ScrollViewer имеет новые события DirectManipulationStarted и DirectManipulationCompleted, чтобы уведомить приложение о начале и остановке сенсорной прокрутки. Эти события можно обрабатывать для координации пользовательского интерфейса с этими действиями пользователя. |
Обновления MenuFlyout | В универсальных приложениях Windows есть новые API, которые позволяют создавать более удобные контекстные меню. Новый метод MenuFlyout.ShowAt позволяет указать, где вы хотите, чтобы всплывающее меню отображалось в отношении другого элемента. (И менюFlyout может даже перекрывать границы окна приложения.) Используйте новый класс MenuFlyoutSubItem для создания каскадных меню. |
Новые свойства Border для ContentPresenter, Grid и StackPanel | Общие элементы управления контейнера имеют новые свойства границы, которые позволяют рисовать границу вокруг них, не добавляя дополнительный элемент Border в XAML. ContentPresenter, Grid и StackPanel имеют следующие новые свойства: BorderBrush, BorderThickness, CornerRadius и Padding. |
Новые API текста в ContentPresenter | ContentPresenter имеет новые API- интерфейсы, которые обеспечивают более контроль над отображением текста: LineHeight, LineStackingStrategy, MaxLines и TextWrapping. |
Визуальные элементы фокуса системы | Визуальные элементы фокуса для элементов управления XAML теперь создаются системой, а не объявляются как элементы XAML в шаблоне элемента управления. Визуальные элементы фокуса обычно не требуются на мобильных устройствах, поскольку, позволяя системе создавать и управлять ими по мере необходимости, это улучшает производительность приложения. Если вам нужен более широкий контроль над визуальными элементами фокуса, можно переопределить поведение системы и предоставить пользовательский шаблон управления, определяющий визуальные элементы фокуса. См. UseSystemFocusVisuals и IsTemplateFocusTarget для получения дополнительной информации. |
РежимОтображенияПароля | В универсальных приложениях Windows свойство PasswordRevealMode заменяет свойство IsPasswordRevealButtonEnabled для обеспечения единообразного поведения в различных семействах устройств. Осторожность: До Windows 10 по умолчанию кнопка отображения пароля не показывалась; в универсальных приложениях Windows она отображается по умолчанию. Если для обеспечения безопасности приложения требуется, чтобы пароль всегда не отображался, обязательно установите для PasswordRevealMode значение Hidden. |
Control.IsTextScaleFactorEnabled (Управляющий элемент является ли коэффициент масштабирования текста активированным) | Свойство IsTextScaleFactorEnabled , доступное в Windows Phone 8.1, теперь доступно для универсальных приложений Windows во всех семействах устройств. |
Блок автовнушения | Элемент управления AutoSuggestBox |
ContentDialog (ДиалогСодержание) | Теперь элемент управления ContentDialog из Windows Phone 8.1 доступен для универсальных приложений Windows во всех семействах устройств. ContentDialog позволяет отображать настраиваемое модальное диалоговое окно, отличное для всего спектра устройств. |
Стержень | Элемент управления |
Текст
Функция | Описание |
---|---|
API основного текста Windows | Новое пространство имен Windows.UI.Text.Core включает клиент-серверную систему, которая централизованно обрабатывает ввод клавиатуры на одном сервере. Его можно использовать для управления буфером редактирования пользовательского элемента управления вводом текста. Сервер ввода текста гарантирует, что содержимое элемента управления вводом текста и содержимое собственного буфера редактирования всегда синхронизированы с помощью асинхронного канала связи между приложением и сервером. |
Значки векторов | Элемент |
События окна редактора методов ввода | Пользователи иногда вводит текст в редакторе методов ввода, который отображается в окне под текстовым полем ввода (обычно для восточноазиатских языков). Вы можете использовать событие CandidateWindowBoundsChanged и свойство DesiredCandidateWindowAlignment в TextBox и RichEditBox , чтобы пользовательский интерфейс приложения работал лучше с окном IME. |
События композиции текста | TextBox и RichEditBox имеют новые события, чтобы сообщить приложению о создании текста с помощью редактора методов ввода: TextCompositionStarted, TextCompositionEnded и TextCompositionChanged. Эти события можно обрабатывать для координации кода приложения с помощью процесса композиции текста IME. Например, можно реализовать встроенные функции автоматического завершения для языков Восточной Азии. |
Улучшенная обработка двунаправленного текста | Элементы управления текстом XAML имеют новый API для улучшения обработки двунаправленного текста, что приводит к улучшению выравнивания текста и направления абзаца на различных языках ввода. Значение по умолчанию свойства TextReadingOrder было изменено на DetectFromContent, поэтому поддержка обнаружения порядка чтения включена по умолчанию. Свойство TextReadingOrder также было добавлено в PasswordBox, RichEditBox и TextBox. Свойство TextAlignment в текстовых элементах управления можно установить на новое значение DetectFromContent, чтобы включить автоматическое определение выравнивания на основе содержимого. |
Отрисовка текста | В Windows 10 текст в приложениях XAML теперь отображается почти в два раза быстрее Windows 8.1. В большинстве случаев ваши приложения получат преимущества от этого улучшения без каких-либо изменений. В дополнение к более быстрой отрисовке эти улучшения также снижают типичное потребление памяти приложений XAML на 5%. |
Модель приложения
Функция | Описание |
---|---|
Кортана | Расширьте основные функциональные возможности Кортаны с помощью голосовых команд, которые запускают и выполняют одно действие во внешнем приложении. Интегрируя основные функциональные возможности приложения и предоставляя центральную точку входа для пользователя для выполнения большинства задач, не открывая приложение напрямую, Кортана может выступать в качестве связи между приложением и пользователем. Во многих случаях это может сэкономить значительное время и усилия пользователя. Узнайте, как интегрировать приложение на холст Кортаны. Если вам нужны идеи, вы можете ознакомиться с рекомендациями по проектированию и рекомендациями по пользовательскому интерфейсу, характерным для Кортаны в основах разработки для универсальных приложений Для Windows. |
Файловый менеджер | Новые методы Windows.System.Launcher.LaunchFolderAsync позволяют запускать проводник и отображать содержимое указанной папки. |
Общее хранилище | Новый класс Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager и его методы позволяют совместно использовать файл с другим приложением, передав маркер общего доступа при запуске другого приложения с помощью активации URI. Целевое приложение использует маркер, чтобы получить файл, который был предоставлен исходным приложением. |
Настройки | Для отображения встроенных страниц настроек используйте протокол ms-settings и метод LaunchUriAsync. Например, следующий код отображает страницу параметров Wi-Fi: результат bool = await Launcher.LaunchUriAsync(new Uri("ms-settings://network/wifi")); Список отображаемых страниц параметров см. в разделе "Как отображать встроенные страницы параметров с помощью протокола ms-settings". |
Обмен данными между приложениями | Новые API для межприложного взаимодействия в Windows 10 позволяют приложениям Windows (а также веб-приложениям Windows) запускать друг друга и обмениваться данными и файлами. Используя эти новые API, сложные задачи, необходимые пользователю для использования нескольких приложений, теперь можно легко обрабатывать. Например, ваше приложение может запустить приложение социальной сети для выбора контакта или запустить приложение для получения заказа, чтобы завершить процесс оплаты. |
Службы приложений | Служба приложений — это способ предоставления служб другим приложениям в Windows 10. Служба приложений принимает форму фоновой задачи. Приложения переднего плана могут вызывать службу приложений в другом приложении для выполнения задач в фоновом режиме. Справочные сведения об API службы приложений см. в разделе Windows.ApplicationModel.AppService. |
Манифест пакета приложения | Обновления схемы манифеста пакета для Windows 10 включают добавленные, удаленные и измененные элементы. Для получения справочной информации обо всех элементах, атрибутах и типах в схеме, обратитесь к иерархии элементов в. |
Устройства
Функция | Описание |
---|---|
Microsoft Surface Hub | Microsoft Surface Hub — это мощное устройство для командной работы и платформа с большим экраном для универсальных приложений Windows, запускаемых в родном режиме из Surface Hub или с вашего подключенного устройства. Создавайте собственные приложения, разработанные специально для вашего бизнеса, которые используют преимущества большого экрана, сенсорного ввода и рукописного ввода, а также обширного оборудования на борту, например камер и датчиков. Ознакомьтесь с рекомендациями по проектированию и UX, характерными для Surface Hub, в основах проектирования универсальных приложений для Windows. В этих документах описываются методы адаптивного проектирования для универсальных приложений Windows. Дополнительные сведения по поддержке общих приложений см. в разделе SharedModeSettings. См. сведения о поддержке многоточечного рукописного ввода в новом элементе управления InkCanvas в разделе Windows.UI.Input.Inking и Windows.UI.Input.Inking.Core. Для обработки входных данных датчиков см. Интеграция устройств, принтеров и датчиков. |
Местоположение | В Windows 10 представлен новый метод, который запрашивает у пользователя разрешение на доступ к его местоположению, RequestAccessAsync. Пользователь задает конфиденциальность данных о расположении с настройками конфиденциальности расположения в приложении "Настройки". Приложение может получить доступ к расположению пользователя только в том случае, если расположение для этого устройства включено (неприменимо для Windows 10 для телефонов), настройка служб геолокации "расположение" включена, а в разделе Выберите приложения, которые могут использовать ваше расположение, ваше приложение должно быть включено. Перед доступом к местоположению пользователя важно вызывать RequestAccessAsync. В этот момент ваше приложение должно находиться на переднем плане, и RequestAccessAsync должен вызываться из потока интерфейса пользователя. Пока пользователь не предоставит приложению разрешение на свое расположение, приложение не сможет получить доступ к данным о расположении. |
AllJoyn |
Windows.Devices.AllJoyn пространство имен среды выполнения Windows представляет реализацию программной платформы и служб с открытым исходным кодом AllJoyn от компании Microsoft. Эти API позволяют вашему приложению для универсального устройства Windows участвовать с другими устройствами в сценариях Интернета вещей (IoT), основанных на AllJoyn. Чтобы получить дополнительную информацию об API AllJoyn C, скачайте документацию по AllSeen Alliance. Используйте средство AllJoynCodeGen , включенное в этот выпуск, для создания компонента Windows, который можно использовать для включения сценариев AllJoyn в приложении устройства. Заметка: Windows 10 IoT Core теперь доступна для нового класса небольших устройств, что позволяет создавать устройства "Интернет вещей" (IoT) с помощью Windows и Visual Studio. Дополнительные сведения о Windows IoT в Центре разработки для Windows. |
Печать через API для мобильных устройств (XAML) | Существует единый набор API, который позволяет печатать из приложений UWP на основе XAML в нескольких семействах устройств, включая мобильные устройства. Теперь вы можете добавить печать в мобильное приложение с помощью знакомых API,связанных с печатью, из пространств имен Windows.Graphics.Printing и Windows.UI.Xaml.Printing. |
Аккумулятор | API батарей в пространстве имен Windows.Devices.Power позволяют вашему приложению узнать больше о любых батареях, подключенных к устройству с работающим приложением. Создайте объект батареи для представления либо отдельного контроллера батареи, либо группы всех контроллеров батареи (при создании с помощью FromIdAsync или AggregateBatteryсоответственно). Используйте метод GetReport для возврата объекта BatteryReport , указывающего заряд, емкость и состояние соответствующих батарей. |
Устройства MIDI | Новое пространство имен Windows.Devices.Midi позволяет создавать приложения A=apps, которые могут взаимодействовать с внешними устройствами MIDI, приложениями и внешними устройствами, которые напрямую взаимодействуют с синтезатором программного обеспечения Microsoft GS MIDI и сценариями, в которых несколько клиентов одновременно получают доступ к одному порту MIDI. |
Поддержка пользовательского датчика | Пространство имен Windows.Devices.Sensor.Custom позволяет разработчикам оборудования определять новые пользовательские типы датчиков, например датчик CO2. |
Эмуляция карты на основе хоста (HCE) | Эмуляция карты хоста позволяет реализовать службы эмуляции карт NFC, размещенные в ОС, и при этом взаимодействовать с внешним терминалом считывателя через NFC-интерфейс. Чтобы активировать фоновую задачу для эмуляции смарт-карты через NFC, используйте класс SmartCardTrigger . Значение EmulatorHostApplicationActivated в SmartCardTriggerType позволяет приложению знать, что произошло событие HCE. |
Графика
Функция | Описание |
---|---|
DirectX | DirectX 12 в Windows 10 представляет следующую версию Microsoft Direct3D, трехмерный графический интерфейс программирования приложений, лежащий в основе DirectX. Графика Direct3D 12 обеспечивает эффективность и производительность низкоуровневого API, схожего с консольными системами. Direct3D 12 быстрее и эффективнее, чем когда-либо раньше. Он обеспечивает более богатые сцены, больше объектов, более сложные эффекты и более эффективное использование современного графического оборудования. |
SoftwareBitmapSource | В универсальных приложениях Windows можно использовать новый SoftwareBitmapSource в качестве источника изображения XAML. Это позволяет передавать незакодированные изображения в платформу XAML, чтобы немедленно отображаться на экране, обходя декодирование изображений платформой XAML. Вы можете добиться гораздо более быстрой отрисовки изображений, таких как отрисовка фотографий с низкой задержкой непосредственно с камеры, использование пользовательских декодаторов изображений, захват кадров из поверхностей DirectX или даже создание изображений в памяти с нуля и отрисовка их непосредственно в XAML с низкой задержкой и низкой нагрузкой на память. |
Камера перспективы | В универсальных приложениях Windows XAML имеет новый API Transform3D, который позволяет применять преобразования перспективы к дереву XAML (или сцене), который преобразует все дочерние элементы XAML в соответствии с этим преобразованием на уровне одной сцены (или камерой). Ранее это можно было сделать с помощью MatrixTransform и сложной математики, но Transform3D значительно упрощает создание этого эффекта, а также позволяет его анимировать. Дополнительные сведения см. в свойстве UIElement.Transform3D , Transform3D, CompositeTransform3D и PerspectiveTransform3D. |
Средства массовой информации
Функция | Описание |
---|---|
Потоковое вещание HTTP Live | Вы можете использовать новый класс AdaptiveMediaSource для добавления возможностей адаптивной потоковой передачи видео в приложения. Объект инициализируется, указывая его на файл манифеста потоковой передачи. Поддерживаемые форматы манифестов включают http Live Streaming (HLS) и динамическую адаптивную потоковую передачу по протоколу HTTP (DASH). После привязки объекта к элементу мультимедиа XAML начинается адаптивное воспроизведение. Свойства потока, такие как доступные, минимальные и максимальные скорости, могут запрашиваться и задаваться соответствующим образом. |
Поддержка обработчика видеотрансляции Media Foundation (XVP) для преобразования Media Foundation (MFT) | Приложения Windows, использующие преобразования Media Foundation (MFTs), теперь могут использовать Видеопроцессор Transcode Media Foundation Transcode (XVP) для преобразования, масштабирования и преобразования необработанных видеоданных: новый атрибут MF_XVP_CALLER_ALLOCATES_OUTPUT позволяет выводить выделенные вызывающим текстуры даже в режиме ускорения видео Microsoft DirectX (DXVA). Новый интерфейс IMFVideoProcessorControl2 позволяет приложению включать аппаратные эффекты, запрашивать поддерживаемые аппаратные эффекты и переопределять операцию поворота, выполняемую процессором видео. |
Транскодирование | Новый API MediaProcessingTrigger позволяет приложению выполнять перекодирование мультимедиа в фоновой задаче, поэтому операции транскодирования могут продолжаться даже при завершении работы приложения переднего плана. |
События сбоя медиа в MediaElement | В универсальных приложениях Windows MediaElement будет воспроизводить содержимое, содержащее несколько потоков, даже если есть ошибка декодирования одного из потоков, если содержимое мультимедиа содержит по крайней мере один допустимый поток. Например, если видеопоток в содержимом, содержащем аудиопоток и видеопоток, завершается неудачей, MediaElement по-прежнему будет воспроизводить аудиопоток. PartialMediaFailureDetected уведомляет вас о том, что не удалось декодировать один из потоков в потоке. Он также позволяет узнать, какой тип потока завершился сбоем, чтобы вы могли отразить эти сведения в пользовательском интерфейсе. Если все потоки в потоке мультимедиа завершаются ошибкой, вызывается событие MediaFailed. |
Поддержка адаптивной потоковой передачи видео с помощью MediaElement | MediaElement имеет новый метод SetPlaybackSource для поддержки адаптивной потоковой передачи видео. Используйте этот метод, чтобы задать источник мультимедиа для AdaptiveMediaSource. |
Трансляция с помощью MediaElement и изображения | Элементы управления MediaElement и Image имеют новый метод GetAsCastingSource. Этот метод можно использовать для программной отправки содержимого из любого элемента мультимедиа или изображения в более широкий диапазон удаленных устройств, таких как Miracast, Bluetooth и DLNA. Эта функция включается автоматически, когда вы устанавливаете параметр AreTransportControlsEnabled в значение true на MediaElement. |
Элементы управления транспортировкой мультимедиа для классических приложений | Интерфейс ISystemMediaTransportControls и связанные API позволяют классическим приложениям взаимодействовать со встроенными системными элементами управления транспортировкой мультимедиа. Это включает реагирование на взаимодействие пользователей с кнопками управления транспортом и обновление отображения элементов управления транспортом для отображения метаданных о текущем воспроизведении содержимого мультимедиа. |
Кодирование и декодирование JPEG с произвольным доступом | Новые методы WIC IWICJpegFrameEncode и IWICJpegFrameDecode позволяют кодировать и декодировать изображения JPEG. Теперь можно включить индексирование данных изображения, что обеспечивает эффективный случайный доступ к большим изображениям за счет большего объема памяти. |
Наложения для композиций мультимедиа | Новые API MediaOverlay и MediaOverlayLayer упрощают добавление нескольких слоев статического или динамического содержимого мультимедиа в состав мультимедиа. Непрозрачность, положение и временные параметры можно настроить для каждого слоя, и вы даже можете реализовать собственный пользовательский компоновщик для входных слоев. |
Новая платформа эффектов | Пространство имен Windows.Media.Effects предоставляет простую и интуитивно понятную платформу для добавления эффектов в звуковые и видеопотоки. Платформа включает базовые интерфейсы, которые можно реализовать для создания пользовательских эффектов звука и видео и вставки их в конвейер мультимедиа. |
Нетворкинг
Функция | Описание |
---|---|
Розетки | Обновления сокета включают: Брокер сокетов: Брокер сокетов может устанавливать и закрывать подключения сокетов от имени приложения в любом состоянии жизненного цикла приложения. Это делает приложения и службы, которые они предоставляют более доступные для обнаружения. Например, через брокер сокетов служба Win32 по-прежнему может принимать входящие подключения сокета, даже если он не запущен. улучшения пропускной способности: пропускная способность сокетов была оптимизирована для приложений, работающих в пространстве имен Windows.Networking.Sockets. |
Задачи фоновой передачи после обработки | Новые интерфейсы API в пространстве имен Windows.Networking.BackgroundTransfer позволяют регистрировать группы задач постобработки. Таким образом, ваше приложение может немедленно реагировать на успех или неудачу фоновой передачи, даже если оно не находится на переднем плане, а не ожидать момента, когда пользователь возобновит использование приложения. |
Поддержка Bluetooth для рекламы | С помощью пространства имен Windows.Devices.Bluetooth.Advertisement приложения могут отправлять, получать и фильтровать объявления Bluetooth LE. |
обновление API Wi-Fi Direct | Брокер устройств обновляется, чтобы включить связывание с устройствами без выхода из приложения. Кроме того, расширения в пространстве имен Windows.Devices.WiFiDirect позволяют устройству стать доступным для обнаружения другими устройствами и принимать уведомления о входящих подключениях. Примечание. В этом выпуске улучшения функции Direct Wi-Fi не встроены в UX, и они поддерживают только постановку в пару с помощью кнопки. Кроме того, этот выпуск поддерживает только одно активное подключение. |
Улучшения поддержки JSON | Пространство имен Windows.Data.Json теперь лучше поддерживает существующие стандартные определения и интерфейс разработчика при преобразовании объектов JSON во время сеансов отладки. |
Безопасность
Функция | Описание |
---|---|
Шифрование ECC | Новые API в пространстве имен Windows.Security.Cryptography обеспечивают поддержку эллиптической криптографии кривой (ECC), реализация криптографии с открытым ключом на основе эллиптических кривых над конечными полями. ECC является математически более сложным, чем RSA, предоставляет меньшие размеры ключей, уменьшает потребление памяти и повышает производительность. Он предлагает службам и клиентам Майкрософт альтернативу ключам RSA и параметрам кривых, утвержденным NIST. |
Microsoft Passport | Microsoft Passport — это альтернативный метод проверки подлинности, который заменяет пароли асимметричной криптографией и жестом. Классы в пространстве имен Учетных данных, например KeyCredentialManger, упрощают создание приложения с помощью Microsoft Passport без сложности шифрования или биометрических данных. |
Microsoft Passport for Work | Microsoft Passport for Work — это альтернативный метод входа в Windows с помощью учетной записи Azure Active Directory, которая не использует пароли, смарт-карты и виртуальные смарт-карты. Вы можете выбрать, следует ли отключить или включить этот параметр политики. |
Брокер токенов | Брокер токенов — это новая платформа проверки подлинности, которая упрощает подключение приложений к поставщикам удостоверений в Интернете (например, Facebook). Такие функции, как имя пользователя и управление паролями учетной записи и упрощенный пользовательский интерфейс, обеспечивают значительно улучшенную проверку подлинности для пользователей. |
Системные службы
Функция | Описание |
---|---|
Мощность | Теперь настольное приложение Windows может получать уведомления, когда режим экономии заряда батареи включен или отключен. Отвечая на изменение условий питания, ваше приложение имеет возможность расширить время работы батареи. GUID_POWER_SAVING_STATUS. Используйте этот новый GUID с функцией PowerSettingRegisterNotification, чтобы получать уведомления о том, что режим экономии заряда батареи включен или отключен. SYSTEM_POWER_STATUS: эта структура была обновлена для поддержки режима экономии заряда. Четвертый элемент, SystemStatusFlag (ранее именовавшийся Reserved1, теперь указывает, включен ли режим экономии батареи). Используйте функцию GetSystemPowerStatus, чтобы получить указатель на эту структуру. |
Версия | Вы можете использовать функции помощника версии для определения версии операционной системы. Для Windows 10 эти вспомогательные функции включают новую функцию, IsWindows10OrGreater. Вы должны использовать вспомогательные функции, а не устаревшие функции GetVersionEx и GetVersion , если вы хотите определить системную версию. Дополнительные сведения о том, как получить системную версию, см. раздел "Получение системной версии". Если вы используете нерекомендуемую функцию GetVersionEx или GetVersion для получения сведений о версии в структуре OSVERSIONINFOEX или OSVERSIONINFO, помните, что номер версии, содержащийся в этих структурах, увеличивается с 6.3 для Windows 8.1 и Windows Server 2012 R2 до 10.0 для Windows 10. Для получения дополнительной информации о номерах версий операционной системы см. раздел Операционная система версия. Кроме того, необходимо специально нацелить ваше приложение на Windows 8.1 или Windows 10, чтобы получить правильную информацию о версии с помощью функций GetVersionEx или GetVersion. Сведения о том, как нацелить приложение для этих версий Windows, см. в статье Нацеливание вашего приложения для Windows. |
Сведения о пользователе | Новые API в пространстве имен Windows.System упрощают доступ к сведениям о пользователе, например имени пользователя и рисунке учетной записи. Он также предоставляет возможность реагировать на события пользователей, такие как вход и выход. |
Управление памятью и профилирование | Поддержка API профилирования памяти в Windows.System была расширена на всех платформах, и их общая функциональность была расширена с помощью новых классов и функций. |
Хранение
Функция | Описание |
---|---|
API поиска файлов, доступные для Windows Phone | В качестве издателя приложения вы можете зарегистрировать приложение для совместного использования папки хранилища с другими приложениями, которые вы публикуете, добавив расширения в манифест приложения. Затем вызовите метод Windows.Storage.ApplicationData.GetPublisherCacheFolder , чтобы получить общее расположение хранилища. Строгой модель безопасности приложений среды выполнения Windows обычно запрещает приложениям совместное использование данных между собой. Но это может быть полезно для приложений от одного издателя для совместного использования файлов и параметров на основе для каждого пользователя. |
Инструменты
Функция | Описание |
---|---|
Динамическое визуальное дерево в Visual Studio | Visual Studio имеет новую функцию динамического визуального дерева. Его можно использовать при отладке, чтобы быстро понять состояние визуального дерева приложения и узнать, как были заданы свойства элемента. Он также позволяет изменять значения свойств во время работы приложения, поэтому вы можете настраивать и экспериментировать без повторного запуска. |
Ведение журнала трассировки | TraceLogging — это новый API трассировки событий для приложений пользовательского режима и драйверов в режиме ядра; он строится на трассировке событий для Windows (ETW). Этот API предоставляет упрощенный способ инструментирования кода и включения структурированных данных с событиями без необходимости отдельного XML-файла манифеста инструментирования. API-интерфейсы TraceLogging WinRT, .NET и C/C++ доступны для обслуживания различных аудиторий разработчиков. |
Взаимодействие с пользователем
Функция | Описание |
---|---|
Распознавание речи | Непрерывное распознавание речи для сценариев диктовки длинной формы теперь поддерживается универсальной платформой Windows. Узнайте, как включить непрерывную диктовку в документации по взаимодействию с речью. |
Возможности перетаскивания между разными платформами приложений | Новые пространства имен Windows.ApplicationModel.DataTransfer.DragDrop добавляют функциональность перетаскивания и сбрасывания в универсальные приложения Windows. Ранее распространенные сценарии перетаскивания для классических программ, такие как перетаскивание документа из папки в сообщение Outlook для его присоединения, недоступны в универсальных приложениях Windows. С помощью этих новых API приложение может позволить пользователям легко перемещать данные между различными универсальными приложениями Windows и классическими приложениями. Для поддержки перетаскивания между приложениями эти новые API были добавлены в XAML: ListViewBase.DragItemsCompleted; UIElement: CanDrag, DragStarting, StartDragAsync, DropCompleted; DragOperationDeferral, DragUI, DragUIOverride; DragEventArgs: AcceptedOperation, DataView, DragUIOverride, GetDeferral, Модификаторы; DragItemsCompletedEventArgs, DropCompletedEventArgs, DragStartingEventArgs |
Настраиваемые строки заголовка окна | Для приложений UWP для семейства устройств для настольных ПК теперь можно использовать класс ApplicationViewTitleBar с свойством ApplicationView.TitleBar и методом Window.SetTitleBar, чтобы заменить содержимое строки заголовка Windows по умолчанию собственным пользовательским содержимым XAML. Ваш XAML обрабатывается как "системный хром", поэтому Windows будет обрабатывать события ввода вместо вашего приложения. Это означает, что пользователь по-прежнему может перетаскивать и изменять размер окна, даже когда щелкает на пользовательском содержимом заголовка окна. |
Интернет
Функция | Описание |
---|---|
Microsoft Edge | Microsoft Edge — это новый браузер по умолчанию, созданный для Windows 10. Дополнительные сведения и общие сведения о функциях и стандартах разработчиков, включенных в Microsoft Edge, включая последние возможности JavaScript, см. в руководстве разработчика Microsoft Edge. |
Веб-просмотр в WebView | Элемент управления WebView использует тот же механизм отрисовки, что и новый браузер Microsoft Edge. Это обеспечивает наиболее точный, совместимый со стандартами режим отрисовки HTML. |
Внепоточное WebView | Можно указать WebView.ExecutionMode , чтобы включить обработку и отображение веб-содержимого в отдельном фоновом потоке. Это может повысить производительность в определенных конкретных сценариях. |
Событие WebView.UnsupportedUriSchemeIdentified | Новое событие WebView.UnsupportedUriSchemeIdentified позволяет решить, как ваше приложение должно иметь неподдерживаемую схему URI. Ваше приложение может использовать это событие для пользовательской обработки неподдерживаемых схем URI. Для элемента управления HTML WebView обратитесь к событию MSWebViewUnsupportedUriSchemeIdentified. |
Событие WebView.NewWindowRequested | Новое событие WebView.NewWindowRequested позволяет реагировать, когда скрипт в WebView запрашивает новое окно браузера. Сведения об элементе управления WebView HTML см. в событии MSWebViewNewWindowRequested. |
Событие WebView.ЗапросРазрешения | Новое событие WebView.PermissionRequested позволяет содержимому WebView использовать расширенные API HTML5, требующие специального разрешения от пользователя, например геолокации. Для элемента управления HTML WebView см. событие MSWebViewPermissionRequested. |
Событие WebView.UnviewableContentIdentified | Новое событие WebView.UnviewableContentIdentified позволяет реагировать при переходе WebView на невеб-содержимое, например PDF файл или документ Office. Смотрите событие MSWebViewUnviewableContentIdentified для элементов управления HTML WebView. |
Метод WebView.AddWebAllowedObject | Можно вызвать новый метод WebView.AddWebAllowedObject для внедрения объекта WinRT в XAML WebView, а затем вызвать его функции из доверенного JavaScript, размещенного в этом WebView. Например, веб-содержимое может отображать системные уведомления, делая запрос, чтобы родительское приложение вызвало ToastNotificationManager API WinRT. Для элемента управления HTML WebView см. метод addWebAllowedObject. |
Метод WebView.ClearTemporaryWebDataAsync | Когда пользователь взаимодействует с веб-содержимым в XAML WebView, элемент управления WebView кэширует данные на основе сеанса этого пользователя. Чтобы очистить этот кэш, можно вызвать новый метод ClearTemporaryWebDataAsync. Например, кэш можно очистить, когда один пользователь выходит из приложения, чтобы другой пользователь не смог получить доступ к данным из предыдущего сеанса. |