Что нового для разработчиков в Windows 10, сборка 10240

Сборка 10240 Windows 10 и обновленный пакет SDK предоставляют доступ к инструментам, компонентам и возможностям для создания потрясающих приложений универсальной платформы Windows. После установки средств и пакета SDK в Windows 10 вы можете создать новое универсальное приложение Для Windows или узнать, как использовать существующий код приложения в Windows.

Здесь представлен обзор новых функций в Windows 10 (сборка 10240, которая также известна как Windows 10 версии 1507).

Адаптивные макеты

Функция Description
Несколько представлений для специального содержимого XAML обеспечивает новую поддержку определения специализированных представлений (XAML-файлов), совместно использующих один и тот же файл кода. Это упрощает создание и обслуживание различных представлений, адаптированных к определенному семейству устройств или сценарию. Если в приложении есть различные модели пользовательского интерфейса, макета или навигации, которые существенно отличаются для различных сценариев, создайте несколько представлений. Например, можно использовать сводку с навигацией, оптимизированной для односторонней работы в мобильном приложении, но использовать SplitView с меню навигации, оптимизированное для мыши в классическом приложении.
StateTriggers Используя новую функцию VisualState.StateTriggers , можно условно задать свойства на основе высоты окна или ширины или на основе пользовательского триггера. Ранее необходимо было обрабатывать события Window SizeChanged в коде и вызывать VisualStateManager.GotoState.
Сеттеры С помощью нового синтаксиса VisualState.Setters можно использовать упрощенную разметку для определения изменений свойств в VisualStateManager. Ранее вам пришлось использовать раскадровку и создавать анимации для применения изменений свойств, таких как изменение ориентации StackPanel с горизонтального на вертикальное. В универсальных приложениях Windows можно использовать этот упрощенный синтаксис метода задания: <setter target="stackPanel1.Orientation" value="Vertical" />

Функции XAML

Функция Description
Скомпилированные привязки данных (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 упрощает просмотр и выбор дат и диапазонов дат с помощью настраиваемого представления на основе месяца. CalendarView поддерживает такие функции, как минимальные, максимальные и черные даты, чтобы ограничить выбранные даты. Вы также можете задать пользовательские полосы плотности, которые можно использовать для отображения общей "полноты" расписания в определенный день.
CalendarDatePicker CalendarDatePicker — это раскрывающийся список, оптимизированный для выбора одной даты в CalendarView, где контекстная информация, например день недели или полнота календаря, важна. Это похоже на элемент управления DatePicker, но DatePicker оптимизирован для выбора известной даты, например даты рождения.
MediaTransportControls Новый класс MediaTransportControls упрощает настройку элементов управления транспортом MediaElement. В Windows 8.1 можно включить встроенные элементы управления транспортом MediaElement или создать собственные элементы управления транспортом, которые называются методами MediaElement. Теперь вы можете использовать встроенные функции MediaTransportControls и по-прежнему легко настроить внешний вид приложения.
Уведомления об изменении свойств В универсальных приложениях Windows можно прослушивать изменения свойств в DependencyObjects, даже если свойства не имеют соответствующих событий изменений. Уведомление работает как событие, но на самом деле предоставляется как обратный вызов. Обратный вызов принимает аргумент отправителя так же, как обработчик событий, но не принимает аргумент события. Вместо этого передается только идентификатор свойства, указывающий, какое свойство. С помощью этих сведений приложение может определить один обработчик для нескольких уведомлений о свойствах. Дополнительные сведения см. в разделе RegisterPropertyChangedCallback и UnregisterPropertyChangedCallback.
Карты Класс MapControl был обновлен, чтобы обеспечить трехмерные трехмерные изображения и представления на уровне улицы. Эти новые функции и более ранние функции сопоставления теперь доступны для универсальных приложений Windows. Добавьте сопоставление в приложение со следующими API: Windows.UI.Xaml.Controls.Карты и Windows.Services.Карты. Чтобы начать использовать эти 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

Функция Description
Обновления CommandBar и AppBar Элементы управления CommandBar и AppBar были обновлены, чтобы иметь согласованный API, поведение и взаимодействие с пользователем для приложений UWP в семействах устройств.

Элемент управления CommandBar для универсальных приложений Windows был улучшен, чтобы обеспечить супермножество функций AppBar и большую гибкость в том, как его можно использовать в приложении. Для всех новых универсальных приложений Windows в Windows 10 следует использовать CommandBar. На панели команд в Windows 8.1 можно использовать только элементы управления, реализующие ICommandBarElement, такие как AppBarButton. В универсальных приложениях Windows теперь можно поместить пользовательское содержимое в commandBar в дополнение к AppBarButtons.

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

Скрытый AppBar.ClosedDisplayMode, ранее только в Windows Телефон, теперь поддерживается во всех семействах устройств, позволяя выбирать между различными уровнями подсказок для команд. В AppBar отображается минимальное указание по умолчанию, чтобы обеспечить согласованность при обновлении приложений Windows 8.1 до универсальных приложений Windows, где вы больше не можете полагаться на поддержку пограничных жестов на платформе.
Обновления GridView До Windows 10 ориентация макета GridView по умолчанию была горизонтальной в Windows и вертикальной в Windows Телефон. В приложениях UWP GridView по умолчанию использует вертикальный макет для всех семейств устройств, чтобы обеспечить согласованный интерфейс по умолчанию.
Свойство AreStickyGroupHeadersEnabled При отображении сгруппированных данных в ListView или GridView заголовки групп теперь остаются видимыми при прокрутке списка. Это важно в больших наборах данных, где заголовок предоставляет контекст для данных, которые пользователь просматривает. Однако в случаях, когда в каждой группе есть только несколько элементов, может потребоваться прокрутить заголовки вне экрана с элементами. Для управления этим поведением можно задать свойство AreStickyGroupHeadersEnabled в ItemsStackPanel и ItemsWrapGrid .
Метод GroupHeaderContainerFromItemContainer При появлении сгруппированных данных в ItemsControl можно вызвать метод GroupHeaderContainerFromItemContainer , чтобы получить ссылку на родительский заголовок группы. Например, если пользователь удаляет последний элемент в группе, вы можете получить ссылку на заголовок группы и удалить как заголовок элемента, так и заголовок группы.
Выбор событияGroupHeaderContainer Новое событие ВыбораGroupHeaderContainer в ListViewBase позволяет задать состояние заголовков групп в ListView или GridView. Например, можно обработать это событие, чтобы задать automationProperties.Nameproperty в заголовке группы, чтобы представить группу в вспомогательных технологиях.
Выбор событияItemContainer Новое событие ВыборItemContainer в 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 Телефон 8.1, но это изменение с Windows 8.1, которое использовал жест закрепления для масштабирования. Чтобы изменить представления с помощью масштабирования с помощью сцепления, задайте ScrollViewer.ZoomMode="Enabled" во внутренней scrollViewer семантики.

Для универсальных приложений Windows представление увеличенного размера заменяет увеличенное представление и совпадает с размером представления, которое оно заменило. Это аналогично поведению в Windows 8.1, но это изменение от Windows Телефон 8.1, где увеличенное представление заняло полный размер экрана и было отрисовывается поверх всего остального содержимого.
Обновления DatePicker и TimePicker Элементы управления DatePicker и TimePicker теперь имеют одну согласованную реализацию для универсальных приложений Windows во всех семействах устройств. У них также есть новый поиск Windows 10. Всплывающее окно элемента управления теперь использует элементы управления DatePickerFlyout и TimePickerFlyout на всех устройствах. Это же поведение в Windows Телефон 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 .
PasswordBox.PasswordRevealMode В универсальных приложениях Windows свойство PasswordRevealMode заменяет свойство IsPasswordRevealButtonEnabled для обеспечения согласованного поведения в семействах устройств. Внимание. До Windows 10 кнопка "Показать пароль" не отображалась по умолчанию; в универсальных приложениях Windows она отображается по умолчанию. Если для обеспечения безопасности приложения требуется, чтобы пароль всегда не отображался, обязательно установите для PasswordRevealMode значение Hidden.
Control.IsTextScaleFactorEnabled Свойство IsTextScaleFactorEnabled, доступное в Windows Телефон 8.1, теперь доступно для универсальных приложений Windows во всех семействах устройств.
AutoSuggestBox Элемент управления AutoSuggestBox из Windows Телефон 8.1 теперь доступен для универсальных приложений Windows во всех семействах устройств, и его следует использовать вместо SearchBox. AutoSuggestBox предоставляет предложения в качестве типов пользователей и хорошо работает с различными типами входных данных, такими как сенсорный ввод, клавиатура и редакторы методов ввода. Он также имеет некоторые новые члены, чтобы сделать его более эффективной в качестве поля поиска: свойство QueryIcon и событие QuerySubmitted .
ContentDialog Элемент управления ContentDialog из Windows Телефон 8.1 теперь доступен для универсальных приложений Windows во всех семействах устройств. ContentDialog позволяет отображать настраиваемое модальное диалоговое окно, отличное для всего спектра устройств.
Pivot Элемент управления Pivot из Windows Телефон 8.1 теперь доступен для универсальных приложений Windows во всех семействах устройств. Теперь вы можете использовать тот же элемент управления сводной таблицы в приложении для мобильных и классических устройств. Pivot обеспечивает адаптивное поведение на основе размера экрана и типа входных данных. Вы можете стиль элемента управления сводной таблицы, чтобы обеспечить поведение табуляции с различными представлениями информации в каждом элементе сводной таблицы.

Текст

Функция Description
API основного текста Windows Новое пространство имен Windows.UI.Text.Core включает клиент-серверную систему, которая централизованно обрабатывает ввод клавиатуры на одном сервере. Его можно использовать для управления буфером редактирования пользовательского элемента управления вводом текста. Сервер ввода текста гарантирует, что содержимое элемента управления вводом текста и содержимое собственного буфера редактирования всегда синхронизированы с помощью асинхронного канала связи между приложением и сервером.
Значки векторов Элемент Glyphs имеет новые свойства IsColorFontEnabled и ColorFontPalleteIndex для поддержки цветных шрифтов. Теперь можно использовать файл шрифта для отображения значков на основе шрифтов. При использовании ColorFontPalleteIndex для переключения цветовой палитры можно отобразить один значок с различными наборами цветов; например, чтобы отобразить включенную и отключенную версию значка.
События окна редактора методов ввода Пользователи иногда вводит текст в редакторе методов ввода, который отображается в окне под текстовым полем ввода (обычно для восточноазиатских языков). Вы можете использовать событие 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%.

Модель приложения

Функция Description
Кортана Расширьте основные функциональные возможности Кортана с помощью голосовых команд, которые запускают и выполняют одно действие во внешнем приложении. Интегрируя основные функциональные возможности приложения и предоставляя центральную точку входа для пользователя, чтобы выполнить большую часть задач, не открывая приложение напрямую, Кортана может выступать в качестве связи между приложением и пользователем. Во многих случаях это может сэкономить значительное время и усилия пользователя. Узнайте, как интегрировать приложение в холст Кортана. Если вам нужны идеи, вы можете ознакомиться с рекомендациями по проектированию и рекомендациями по пользовательскому интерфейсу, которые относятся к Кортана в основах разработки для универсальных приложений Для Windows.
Проводник Новые методы Windows.System.LauncherAsync позволяют запускать проводник и отображать содержимое указанной папки.
Общее хранилище Новый класс Windows.ApplicationModel.DataTransfer.Shared служба хранилища AccessManager и его методы позволяют совместно использовать файл с другим приложением, передав маркер общего доступа при запуске другого приложения с помощью активации URI. Целевое приложение активирует маркер, чтобы получить общий доступ к файлу исходному приложению.
Параметры Отображение встроенных страниц параметров с помощью протокола ms-settings с помощью метода LaunchUriAsync . Например, следующий код отображает страницу параметров Wi-Fi: логический результат = await Launcher.LaunchUriAsync(new Uri("ms-settings://network/wifi"));

Список отображаемых страниц параметров см. в разделе "Как отображать встроенные страницы параметров с помощью протокола ms-settings".
Обмен данными между приложениями Новые API связи между приложениями в Windows 10 позволяют приложениям Windows (а также веб-приложениям Windows) запускать друг друга и обмениваться данными и файлами. Используя эти новые API, сложные задачи, необходимые пользователю для использования нескольких приложений, теперь можно легко обрабатывать. Например, приложение может запустить приложение социальной сети для выбора контакта или запустить приложение проверка out для завершения процесса оплаты.
Услуги для приложений Служба приложений — это способ предоставления служб другим приложениям в Windows 10. Служба приложений принимает форму фоновой задачи. Приложения переднего плана могут вызывать службу приложений в другом приложении для выполнения задач в фоновом режиме. Справочные сведения об API службы приложений см. в разделе Windows.ApplicationModel.AppService.
Манифест пакета приложения Обновления ссылку на схему манифеста пакета для Windows 10 включают элементы, которые были добавлены, удалены и изменены. Дополнительные сведения обо всех элементах, атрибутах и типах схемы см . в иерархии элементов.

.

Функция Description
Microsoft Surface Hub Microsoft Surface Hub — это мощное устройство совместной работы команды и платформа с большим экраном для универсальных приложений Windows, работающих в собственном коде из Surface Hub или с подключенного устройства. Создавайте собственные приложения, разработанные специально для вашего бизнеса, которые используют преимущества большого экрана, сенсорного ввода и рукописного ввода, а также обширного оборудования на борту, например камер и датчиков.

Ознакомьтесь с рекомендациями по проектированию и рекомендациями по пользовательскому интерфейсу, характерным для Surface Hub в конструкторе универсальных приложений Для Windows. В этих документах описываются методы адаптивного проектирования для универсальных приложений Windows.

Дополнительные сведения о поддержке общих общих приложений см. в разделе SharedMode Параметры. Сведения о поддержке многоточия рукописного ввода в новом элементе управления InkCanvas см. в разделе Windows.UI.Input.Inking и Windows.UI.Input.Inking.Core. Сведения об обработке входных данных датчика см. в разделе "Интеграция устройств, принтеров и датчиков".
Местонахождение В Windows 10 представлен новый метод, который запрашивает у пользователя разрешение на доступ к своему расположению RequestAccessAsync. Пользователь задает конфиденциальность данных о расположении с параметрами конфиденциальности расположения в приложении Параметры. Приложение может получить доступ к расположению пользователя только в том случае, если включено расположение для этого устройства (неприменимо для Windows 10 для телефонов), параметр службы расположения "Расположение" включен и в разделе "Выбор приложений, которые могут использовать ваше расположение, ваше приложение установлено включено".

Перед доступом к расположению пользователя важно вызвать RequestAccessAsync . В то время приложение должно находиться на переднем плане и RequestAccessAsync должно вызываться из потока пользовательского интерфейса. Пока пользователь не предоставит приложению разрешение на свое расположение, приложение не сможет получить доступ к данным о расположении.
AllJoyn Пространство имен Windows.Devices.AllJoyn среда выполнения Windows представляет реализацию microsoft AllJoyn открытый код программной платформы и служб. Эти API позволяют приложению универсального устройства Windows участвовать в других устройствах на основе AllJoyn, в сценариях Интернета вещей ( IoT). Дополнительные сведения об API AllJoyn C см. в документации по AllSeen Alliance. Используйте средство AllJoynCodeGen, включенное в этот выпуск, для создания компонента Windows, который можно использовать для включения сценариев AllJoyn в приложении устройства.

Примечание. теперь Windows 10 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.

Графика

Функция Description
DirectX DirectX 12 в Windows 10 представляет следующую версию Microsoft Direct3D, трехмерный графический API в центре DirectX. Графика Direct3D 12 обеспечивает эффективность и производительность низкоуровневого API, например API, например консоли. Direct3D 12 быстрее и эффективнее, чем когда-либо раньше. Он обеспечивает более богатые сцены, больше объектов, более сложные эффекты и более эффективное использование современного графического оборудования.
SoftwareBitmapSource В универсальных приложениях Windows можно использовать новый тип SoftwareBitmapSource в качестве источника образа XAML. Это позволяет передавать незакодированные изображения в платформу XAML, чтобы немедленно отображаться на экране, обходя декодирование изображений платформой XAML. Вы можете добиться гораздо более быстрой отрисовки изображений, таких как отрисовка фотографий с низкой задержкой непосредственно с камеры, использование пользовательских декодаторов изображений, захват кадров из поверхностей DirectX или даже создание изображений в памяти с нуля и отрисовка их непосредственно в XAML с низкой задержкой и низкой нагрузкой на память.
Камера перспективы В универсальных приложениях Windows XAML имеет новый API Transform3D, который позволяет применять преобразования перспективы к дереву XAML (или сцене), который преобразует все дочерние элементы XAML в соответствии с этим преобразованием на уровне одной сцены (или камерой). Это можно сделать ранее с помощью MatrixTransform и сложной математики, но Преобразование3D значительно упрощает этот эффект, а также позволяет анимировать эффект. Дополнительные сведения см. в свойстве UIElement.Transform3D, Transform3D, CompositeTransform3D и PerspectiveTransform3D.

Мультимедиа

Функция Description
Потоковая передача HTTP Live Вы можете использовать новый класс AdaptiveMediaSource для добавления возможностей адаптивной потоковой передачи видео в приложения. Объект инициализируется, указывая его на файл манифеста потоковой передачи. Поддерживаемые форматы манифестов включают http Live Streaming (HLS) и динамическую адаптивную потоковую передачу по протоколу HTTP (DASH). После привязки объекта к элементу мультимедиа XAML начинается адаптивное воспроизведение. Свойства потока, такие как доступные, минимальные и максимальные скорости, могут запрашиваться и задаваться соответствующим образом.
Поддержка обработчика видеотрансляции Media Foundation (XVP) для преобразования Media Foundation (MFT) Приложения Windows, использующие преобразования Media Foundation (MFTs), теперь могут использовать обработчик видеотрансляции 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 и image Элементы управления MediaElement и Image имеют новый метод GetAsCastingSource . Этот метод можно использовать для программной отправки содержимого из любого элемента мультимедиа или изображения в более широкий диапазон удаленных устройств, таких как Miracast, Bluetooth и DLNA. Эта функция включена автоматически при настройке IsTransportControlsEnabled значение true в MediaElement.
Элементы управления транспортировкой мультимедиа для классических приложений Интерфейс ISystemMediaTransportControls и связанные API позволяют классическим приложениям взаимодействовать со встроенными системными элементами управления транспортировкой мультимедиа. Это включает реагирование на взаимодействие пользователей с кнопками управления транспортом и обновление отображения элементов управления транспортом для отображения метаданных о текущем воспроизведении содержимого мультимедиа.
Кодировка и декодирование JPEG случайным доступом Новые методы WIC IWICJpegFrameEncode и IWICJpegFrameDecode позволяют кодировать и декодировать изображения JPEG. Теперь можно включить индексирование данных изображения, что обеспечивает эффективный случайный доступ к большим изображениям за счет большего объема памяти.
Наложения для композиций мультимедиа Новые API MediaOverlay и MediaOverlayLayer упрощают добавление нескольких слоев статического или динамического содержимого мультимедиа в состав мультимедиа. Непрозрачность, позиция и время можно настроить для каждого слоя, и вы даже можете реализовать собственный пользовательский компост для входных слоев.
Новая платформа эффектов Пространство имен Windows.Media.Effects предоставляет простую и интуитивно понятную платформу для добавления эффектов в звуковые и видеопотоки. Платформа включает базовые интерфейсы, которые можно реализовать для создания пользовательских эффектов звука и видео и вставки их в конвейер мультимедиа.

Сеть

Функция Description
Сокеты Обновления сокета включают:

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

Улучшения пропускной способности: пропускная способность сокета оптимизирована для приложений, использующих пространство имен Windows.Networking.Sockets.
Задачи фоновой передачи после обработки Новые API в пространстве имен Windows.Networking.BackgroundTransfer позволяют регистрировать группы задач после обработки. Таким образом, ваше приложение может немедленно действовать на успешном или неудачном режиме фоновой передачи, даже если оно не находится на переднем плане, а не ожидает следующего возобновления работы приложения.
Поддержка Bluetooth для рекламы С помощью пространства имен Windows.Devices.Bluetooth.Реклама приложения могут отправлять, получать и фильтровать объявления Bluetooth LE.
Обновление API Wi-Fi Direct Брокер устройств обновляется, чтобы включить связывание с устройствами без выхода из приложения. В дополнение к пространству имен Windows.Devices.WiFiDirect устройство также позволяет устройству находиться на других устройствах и слушать входящие уведомления о подключении.

Примечание. В этом выпуске улучшения функций Wi-Fi Direct не встроены в UX, и они поддерживают только связывание кнопки с кнопкой. Кроме того, этот выпуск поддерживает только одно активное подключение.
Улучшения поддержки JSON Пространство имен Windows.Data.Json теперь лучше поддерживает существующие стандартные определения и интерфейс разработчика при преобразовании объектов JSON во время сеансов отладки.

Безопасность

Функция Description
Шифрование 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). Такие функции, как имя пользователя и управление паролями учетной записи и упрощенный пользовательский интерфейс, обеспечивают значительно улучшенную проверку подлинности для пользователей.

Системные службы

Функция Description
Power Теперь классическое приложение 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 была расширена на всех платформах, и их общая функциональность была расширена с помощью новых классов и функций.

Хранилище

Функция Description
API поиска файлов, доступные для Windows Телефон В качестве издателя приложения вы можете зарегистрировать приложение для совместного использования папки хранилища с другими приложениями, которые вы публикуете, добавив расширения в манифест приложения. Затем вызовите Windows.служба хранилища. Метод ApplicationData.GetPublisherCacheFolder для получения общего расположения хранилища. Строгой модель безопасности приложений среда выполнения Windows обычно запрещает приложениям совместное использование данных между собой. Но это может быть полезно для приложений с одного издателя для совместного использования файлов и параметров на основе каждого пользователя.

Инструменты

Функция Description
Динамическое визуальное дерево в Visual Studio Visual Studio имеет новую функцию динамического визуального дерева. Его можно использовать при отладке, чтобы быстро понять состояние визуального дерева приложения и узнать, как были заданы свойства элемента. Он также позволяет изменять значения свойств во время работы приложения, поэтому вы можете настраивать и экспериментировать без повторного запуска.
Просмотр журналов трассировки Java в Application Insights TraceLogging — это новый API трассировки событий для приложений пользовательского режима и драйверов в режиме ядра; он строится на трассировке событий для Windows (ETW). Этот API предоставляет упрощенный способ инструментирования кода и включения структурированных данных с событиями без необходимости отдельного XML-файла манифеста инструментирования. API-интерфейсы TraceLogging WinRT, .NET и C/C++ доступны для обслуживания различных аудиторий разработчиков.

Взаимодействие с пользователем

Функция Description
Распознавание речи Непрерывное распознавание речи для сценариев диктовки длинной формы теперь поддерживается универсальная платформа 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, Modifiers;
DragItemsCompletedEventArgs, DropCompletedEventArgs, DragStartingEventArgs
Настраиваемые строки заголовка окна Для приложений UWP для семейства классических устройств теперь можно использовать класс ApplicationViewTitleBar со свойством ApplicationView.TitleBar и методом Window.SetTitleBar, чтобы заменить содержимое строки заголовков Windows по умолчанию собственным пользовательским содержимым XAML. Xaml обрабатывается как "системный хрома", поэтому Windows будет обрабатывать входные события вместо приложения. Это означает, что пользователь по-прежнему может перетаскивать и изменять размер окна, даже если щелкнуть пользовательское содержимое строки заголовка.

Интернет

Функция Description
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 запрашивает новое окно браузера. Сведения об элементе управления HTML WebView см. в событии MSWebViewNewWindowRequested .
Событие WebView.PermissionRequested Новое событие WebView.PermissionRequested позволяет содержимому WebView использовать расширенные API HTML5, требующие специального разрешения от пользователя, например геолокации. Сведения об элементе управления HTML WebView см. в событии MSWebViewPermissionRequested .
Событие WebView.UnviewableContentIdentified Новое событие WebView.UnviewableContentIdentified позволяет реагировать при переходе webView на не веб-содержимое, например PDF-файл или документ Office. Сведения об элементах управления HTML WebView см. в событии MSWebViewUnviewableContentIdentified .
Метод WebView.AddWebAllowedObject Можно вызвать новый метод WebView.AddWebAllowedObject для внедрения объекта WinRT в XAML WebView, а затем вызвать его функции из доверенного JavaScript, размещенного в этом WebView. Например, веб-содержимое может отображать системные уведомления, запрашивая, что родительское приложение вызывает API WinRT ToastNotificationManager . Для элемента управления HTML WebView см . метод addWebAllowedObject .
Метод WebView.ClearTemporaryWebDataAsync Когда пользователь взаимодействует с веб-содержимым в XAML WebView, элемент управления WebView кэширует данные на основе сеанса этого пользователя. Чтобы очистить этот кэш, можно вызвать новый метод ClearTemporaryWebDataAsync . Например, кэш можно очистить, когда один пользователь выходит из приложения, чтобы другой пользователь не смог получить доступ к данным из предыдущего сеанса.