Поделиться через


Заметки о выпуске канала предварительной версии для пакета SDK для приложений Windows 1.4

Внимание

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

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

Важные ссылки:

Последний выпуск канала предварительной версии:

Последний выпуск стабильного канала:

Версия 1.4(предварительная версия 2) (1.4.0-preview2)

Это последний выпуск канала предварительной версии для версии 1.4.

В существующем приложении пакета SDK для приложений Windows 1.3 (из стабильного канала) можно обновить пакет Nuget до версии 1.4.0-preview2 (см. раздел "Обновление пакета" в Visual Studio и управление ими с помощью диспетчер пакетов NuGet).

Сведения об обновленной среде выполнения и MSIX см. в разделе "Последние загрузки пакета SDK для приложений Windows".

Xaml Islands больше не экспериментальные

Xaml Islands и базовая платформа ContentIslands больше не экспериментальны.

  • В настоящее время XAML Islands тестируются только для использования в приложениях C++. В этом выпуске нет удобных элементов оболочки для использования в WPF или WinForms.
  • DesktopWindowXamlSource и связанные типы добавлены в пространство имен Microsoft.UI.Xaml.Hosting для XAML Islands. XamlRoot.ContentIslandEnvironment добавлено, чтобы получить доступ к базовым сведениям о острове для элемента.
  • Многие новые типы появились в пространстве имен Microsoft.UI.Content и пространстве имен Microsoft.UI.Input в качестве базовой поддержки XAML Islands или для использования этой функции ContentIslands без XAML.
  • Добавлен новый DragDropManager (плюс связанные типы) в пространстве имен Microsoft.UI.Input.DragDrop для сценариев Island.

Обновления ItemsView

Новый ItemsView класс, представленный в версии 1.4-preview1, был существенно обновлен с новыми свойствами и новым вспомогательным классом.

  • Новый ItemsView элемент управления отображает коллекцию данных. ItemsViewаналогичен ListView элементам управления и GridView элементам управления, но создается с помощью ItemsRepeaterScrollViewItemContainer компонентов и ItemCollectionTransitionProvider компонентов. Он предлагает уникальную возможность подключать пользовательские Layout или ItemCollectionTransitionProvider реализации. Еще одним ключевым преимуществом является возможность переключения макета во время сохранения выделения элементов. Внутренний ScrollView элемент управления также предлагает функции, недоступные в ScrollViewer ListView/GridViewэлементе управления, например возможность управления анимацией во время программных прокрутк.
    • Новое свойство ItemsRepeater (и новый ItemTransitionProvider ItemsView элемент управления) позволяет указать ItemCollectionTransitionProvider объект для управления анимациями перехода в этом элементе управления. Также CreateDefaultItemTransitionProvider был добавлен Layoutметод, который позволяет объекту макета обеспечить резервный переход для его сопровождения, если он не указан явным образом в элементе ItemsView управления.
    • Новое IndexBasedLayoutOrientation свойство, в Layout котором ориентация макета, если она есть, основана на их индексе в исходной коллекции. Значение по умолчанию — IndexBasedLayoutOrientation.None. Пользовательские макеты задают это свойство путем вызова нового (защищенного) SetIndexBasedLayoutOrientation метода.
    • Новое VisibleRect свойство VirtualizingLayoutContext , которое получает видимый прямоугольник окна представления в связанном FrameworkElement с ним объекте Layout. Защищенный виртуальный VirtualizingLayoutContext.VisibleRectCore метод можно переопределить, чтобы указать значение, которое будет возвращено из VisibleRect свойства.
  • Новый LinedFlowLayout класс обычно используется для размещения элементов элемента управления коллекцией ItemsView . Это особенно полезно для отображения коллекции рисунков. Это делает это, выкладывая их слева направо, и сверху вниз, в линиях равной высоты. Рисунки заполняют горизонтальную линию, а затем помещать в следующую строку. Изображения могут быть обрезаны в левой и правой краях, чтобы поместиться в линию. Они также могут быть развернуты горизонтально и обрезаны на верхних и нижних краях, чтобы заполнить линию при использовании режима растяжения.

Новые функции и обновления из WinAppSDK

  • Popup/FlyoutBase.IsConstrainedToRootBounds = false теперь поддерживается, позволяя всплывающему элементу или всплывающему элементу расширяться за пределами родительского окна. Свойство SystemBackdrop было добавлено к этим типам для поддержки акрила в этих неограниченных всплывающих окнах. Меню по умолчанию используются для использования акрила.
  • Closed, FrameworkClosedи были добавлены DesktopAcrylicController в IsClosed и MicaController для улучшения обработки во время завершения работы объекта или потока.
  • DesktopAcrylicController.Kind теперь можно выбрать один из стандартных акриловых внешних эффектов.
  • DispatcherQueue имеет некоторые новые события и вспомогательные средства, чтобы упростить более упорядоченное завершение работы и для приложений с помощью Островов, чтобы легко запустить стандартный поддерживаемый цикл событий.
  • InputNonClientPointerSource В пространстве имен Microsoft.UI.Input можно использовать для сценариев пользовательской панели заголовков для определения не клиентских областей. Код может зарегистрировать соответствующие события, например навести указатель мыши и щелкнуть события в этих регионах.
  • AppWindow имеет некоторые новые вспомогательные средства, чтобы получить и связать с DispatcherQueueним.
  • Новое TreeView.SelectionChanged событие позволяет разработчикам реагировать, когда пользователь или код изменяет набор выбранных узлов в элементе TreeView управления.
  • Новый ScrollView элемент управления предоставляет новую альтернативу ScrollViewer. Этот новый элемент управления очень выровнен в поведении и API с существующим ScrollViewer элементом управления, но основан на InteractionTrackerновых функциях, таких как изменения представления на основе анимации, а также предназначен для обеспечения полной функциональности ItemsRepeater. См. более гибкий ScrollViewer · Проблема #108 · Дополнительные сведения см. в microsoft/microsoft-ui-xaml (github.com). Различные новые типы, в том числе ScrollPresenterявляются частью общей ScrollView модели.
  • Новый AnnotatedScrollBar элемент управления расширяет функциональность обычной полосы прокрутки, предоставляя простой способ навигации по большой коллекции элементов. Это достигается с помощью щелкаемой железной дороги с метками, которые действуют как маркеры. Кроме того, он позволяет более детально понять прокручиваемое содержимое, отображая подсказку при наведении указателя мыши на щелкаемый рельс.

Новые API в версии 1.4.0-preview2

Версия 1.4-preview2 включает следующие новые API по сравнению с предыдущим выпуском 1.4-preview1:

Microsoft.UI
 
    ClosableNotifierHandler
    IClosableNotifier
Microsoft.UI.Composition.SystemBackdrops
 
    DesktopAcrylicController
        Closed
        FrameworkClosed
        IsClosed
        Kind
 
    DesktopAcrylicKind
    MicaController
        Closed
        FrameworkClosed
        IsClosed
Microsoft.UI.Content
 
    ContentCoordinateConverter
    ContentCoordinateRoundingMode
    ContentDeferral
    ContentEnvironmentSettingChangedEventArgs
    ContentEnvironmentStateChangedEventArgs
    ContentIsland
    ContentIslandAutomationProviderRequestedEventArgs
    ContentIslandEnvironment
    ContentIslandStateChangedEventArgs
    ContentLayoutDirection
    ContentSite
    ContentSiteEnvironment
    ContentSiteEnvironmentView
    ContentSiteRequestedStateChangedEventArgs
    ContentSiteView
    ContentSizePolicy
    DesktopChildSiteBridge
    DesktopSiteBridge
    IContentSiteBridge
Microsoft.UI.Dispatching
 
    DispatcherExitDeferral
    DispatcherQueue
        EnqueueEventLoopExit
        EnsureSystemDispatcherQueue
        FrameworkShutdownCompleted
        FrameworkShutdownStarting
        RunEventLoop
        RunEventLoop
 
    DispatcherQueueController
        ShutdownQueue
 
    DispatcherRunOptions
Microsoft.UI.Input
 
    CharacterReceivedEventArgs
    ContextMenuKeyEventArgs
    FocusChangedEventArgs
    InputActivationListener
        GetForIsland
 
    InputFocusChangedEventArgs
    InputFocusController
    InputKeyboardSource
        CharacterReceived
        ContextMenuKey
        GetCurrentKeyState
        GetForIsland
        GetKeyState
        KeyDown
        KeyUp
        SystemKeyDown
        SystemKeyUp
 
    InputNonClientPointerSource
    InputPointerSource
        GetForIsland
 
    InputPreTranslateKeyboardSource
    KeyEventArgs
    NonClientCaptionTappedEventArgs
    NonClientPointerEventArgs
    NonClientRegionKind
    NonClientRegionsChangedEventArgs
    PhysicalKeyStatus
    VirtualKeyStates
Microsoft.UI.Input.DragDrop
 
    DragDropManager
    DragDropModifiers
    DragInfo
    DragOperation
    DragUIContentMode
    DragUIOverride
    DropOperationTargetRequestedEventArgs
    IDropOperationTarget
Microsoft.UI.Windowing
 
    AppWindow
        AssociateWithDispatcherQueue
        Create
        DispatcherQueue
Microsoft.UI.Xaml
 
    XamlRoot
        ContentIslandEnvironment
Microsoft.UI.Xaml.Automation.Peers
 
    ItemsViewAutomationPeer
Microsoft.UI.Xaml.Controls
 
    AnnotatedScrollBar
    AnnotatedScrollBarDetailLabelRequestedEventArgs
    AnnotatedScrollBarLabel
    AnnotatedScrollBarScrollingEventArgs
    AnnotatedScrollBarScrollingEventKind
    IndexBasedLayoutOrientation
    ItemCollectionTransition
    ItemCollectionTransitionCompletedEventArgs
    ItemCollectionTransitionOperation
    ItemCollectionTransitionProgress
    ItemCollectionTransitionProvider
    ItemCollectionTransitionTriggers
    ItemsRepeater
        ItemTransitionProvider
        ItemTransitionProviderProperty
 
    ItemsView
    ItemsViewItemInvokedEventArgs
    ItemsViewSelectionChangedEventArgs
    ItemsViewSelectionMode
    Layout
        CreateDefaultItemTransitionProvider
        IndexBasedLayoutOrientation
        SetIndexBasedLayoutOrientation
 
    LinedFlowLayout
    LinedFlowLayoutItemCollectionTransitionProvider
    LinedFlowLayoutItemsInfoRequestedEventArgs
    LinedFlowLayoutItemsJustification
    LinedFlowLayoutItemsStretch
    ScrollingAnchorRequestedEventArgs
    ScrollingAnimationMode
    ScrollingBringingIntoViewEventArgs
    ScrollingChainMode
    ScrollingContentOrientation
    ScrollingInputKinds
    ScrollingInteractionState
    ScrollingRailMode
    ScrollingScrollAnimationStartingEventArgs
    ScrollingScrollBarVisibility
    ScrollingScrollCompletedEventArgs
    ScrollingScrollMode
    ScrollingScrollOptions
    ScrollingSnapPointsMode
    ScrollingZoomAnimationStartingEventArgs
    ScrollingZoomCompletedEventArgs
    ScrollingZoomMode
    ScrollingZoomOptions
    ScrollView
    TreeView
        SelectionChanged
 
    TreeViewSelectionChangedEventArgs
    VirtualizingLayoutContext
        VisibleRect
        VisibleRectCore
Microsoft.UI.Xaml.Controls.Primitives
 
    FlyoutBase
        SystemBackdrop
        SystemBackdropProperty
 
    IScrollController
    IScrollControllerPanningInfo
    Popup
        SystemBackdrop
        SystemBackdropProperty
 
    RepeatedScrollSnapPoint
    RepeatedZoomSnapPoint
    ScrollControllerAddScrollVelocityRequestedEventArgs
    ScrollControllerPanRequestedEventArgs
    ScrollControllerScrollByRequestedEventArgs
    ScrollControllerScrollToRequestedEventArgs
    ScrollPresenter
    ScrollSnapPoint
    ScrollSnapPointBase
    ScrollSnapPointsAlignment
    SnapPointBase
    ZoomSnapPoint
    ZoomSnapPointBase
Microsoft.UI.Xaml.Hosting
 
    DesktopWindowXamlSource
    DesktopWindowXamlSourceGotFocusEventArgs
    DesktopWindowXamlSourceTakeFocusRequestedEventArgs
    WindowsXamlManager
    XamlSourceFocusNavigationReason
    XamlSourceFocusNavigationRequest
    XamlSourceFocusNavigationResult

Версия 1.4(предварительная версия 1) (1.4.0-preview1)

Это последний выпуск канала предварительной версии для версии 1.4.

В существующем приложении пакета SDK для приложений Windows 1.3 (из стабильного канала) можно обновить пакет Nuget до версии 1.4.0-preview1 (см. раздел "Обновление пакета" в Visual Studio и управление ими с помощью диспетчер пакетов NuGet).

Сведения об обновленной среде выполнения и MSIX см. в разделе "Последние загрузки пакета SDK для приложений Windows".

Обновления мини-приложений

Добавлены три новых интерфейса для поставщиков мини-приложений для реализации: IWidgetProvider2, IWidgetProviderAnalyticsи IWidgetProviderErrors. IWidgetProvider2 позволяет поставщикам реагировать на действие "Настройка ", вызываемое пользователем, которое идентично тому, что доступно для сторонних мини-приложений. IWidgetProviderErrors Интерфейсы IWidgetProviderAnalytics используются поставщиками для сбора данных телеметрии для своих мини-приложений. Аналитика и события сбоя о мини-приложениях передаются соответствующим поставщикам мини-приложений. WidgetAnalyticsInfoReportedArgsКлассы WidgetCustomizationRequestedArgsи WidgetErrorInfoReportedArgs классы используются для обмена соответствующими сведениями для поддержки новых функциональных возможностей.

Новые возможности из WinAppSDK

  • Новый ThemeSettings класс, позволяющий приложениям Win32 WinRT обнаруживать изменение параметра высокой контрастности системы, аналогично классу Специальные возможности UWP. Дополнительные сведения см. в спецификации API ThemeSettings на сайте GitHub.
  • Popup/FlyoutBase.ShouldConstrainToRootBounds теперь поддерживается, чтобы разрешить подсказки, меню и другие всплывающие окна, чтобы расширить границы главного окна. Предварительная версия 1 еще не полностью поддерживает акриловые или другие SystemBackdrops во всплывающем или всплывающем элементе; дополнительные API и реализация для этого будут включены в следующий выпуск версии 1.4.
  • AccessKeyManager.EnterDisplayMode — это новый метод для отображения ключей доступа для текущего ориентированного элемента предоставленного корня. Ключи доступа находятся в режиме отображения при отображении подсказки ключа для вызова команды, например нажатия клавиши ALT в Paint, чтобы показать, какие ключи соответствуют элементам управления. Этот метод позволяет программным способом вводить режим отображения.
  • Application.ResourceManagerRequested предоставляет механизм для IResourceManager разрешения URI ресурсов для сценариев, когда значение по умолчанию ResourceManager не будет работать. Дополнительные сведения см. в спецификации API Application.ResourceManagerRequested на GitHub.
  • Мы представляем новый элемент управления списком под названием ItemsView и соответствующий конкретный ItemContainer класс. ItemContainer — это упрощенный контейнер со встроенными состояниями выбора и визуальными элементами, которые могут легко упаковывать требуемое содержимое и использоваться для ItemsView сценария управления коллекцией. ItemsView по-прежнему отмечен экспериментальный в предварительной версии 1, но будет включен в следующий выпуск версии 1.4.
  • Версия пакета SDK WebView2 была обновлена с версии 1661.34 до 1823.32.

Новые API в версии 1.4.0-preview1

Версия 1.4-preview1 включает следующие новые API по сравнению с стабильным выпуском 1.3:

Microsoft.UI.System
 
    ThemeSettings
Microsoft.UI.Xaml
 
    Application
        ResourceManagerRequested
 
    ResourceManagerRequestedEventArgs
Microsoft.UI.Xaml.Automation.Peers
 
    ItemContainerAutomationPeer
Microsoft.UI.Xaml.Controls
 
    ItemContainer
Microsoft.UI.Xaml.Controls.Primitives
 
    CommandBarFlyoutCommandBar
        SystemBackdrop
        SystemBackdropProperty
Microsoft.UI.Xaml.Input
 
    AccessKeyManager
        EnterDisplayMode
Microsoft.Web.WebView2.Core
 
    CoreWebView2
        LaunchingExternalUriScheme
        MemoryUsageTargetLevel
 
    CoreWebView2File
    CoreWebView2LaunchingExternalUriSchemeEventArgs
    CoreWebView2MemoryUsageTargetLevel
    CoreWebView2PermissionKind
        WindowManagement
 
    CoreWebView2Profile
        CookieManager
        IsGeneralAutofillEnabled
        IsPasswordAutosaveEnabled
 
    CoreWebView2Settings
        IsReputationCheckingRequired
 
    CoreWebView2WebMessageReceivedEventArgs
        AdditionalObjects
Microsoft.Windows.Widgets.Providers
 
    IWidgetProvider2
    IWidgetProviderAnalytics
    IWidgetProviderErrors
    WidgetAnalyticsInfoReportedArgs
    WidgetCustomizationRequestedArgs
    WidgetErrorInfoReportedArgs