Notas sobre a versão do canal de pré-visualização para o SDK do Aplicativo Windows 1.4
Importante
O canal de preview não é compatível com o uso em ambientes de produção e os aplicativos que usam as versões de preview não podem ser publicados na Microsoft Store.
O canal de pré-visualização do SDK de Aplicativo do Windows com recursos de canal de pré-visualização nos últimos estágios de desenvolvimento. As versões de pré-visualização não incluem recursos experimentais e APIs, mas ainda podem estar sujeitas a alterações significativas antes da próxima versão estável.
Links importantes:
- Caso queira atualizar um aplicativo existente de uma versão mais antiga do SDK do Aplicativo Windows para uma versão mais recente, confira Atualizar projetos existentes para a versão mais recente do SDK do Aplicativo Windows.
- Para obter a documentação sobre versões de preview, confira Instalar ferramentas para canais experimentais e versão de preview do SDK do Aplicativo Windows.
Versão de canal de pré-visualização mais recente:
Versão de canal estável mais recente:
Versão 1.4 versão prévia 2 (1.4.0-preview2)
Esta é a versão mais recente do canal de versão prévia da versão 1.4.
Em um SDK do Aplicativo Windows 1.3 existente (do canal estável), você pode atualizar seu pacote Nuget para 1.4.0-preview2 (confira a seção Atualizar um pacote em Instalar e gerenciar pacotes no Visual Studio usando o Gerenciador de Pacotes NuGet).
Para visualizar o runtime atualizado e o MSIX, confira Downloads mais recentes do SDK do Aplicativo Windows.
Ilhas XAML não são mais experimentais
As Ilhas XAML e a plataforma ContentIslands subjacente não são mais experimentais.
- Atualmente, as Ilhas XAML são testadas apenas para uso em aplicativos C++. Esta versão não inclui elementos de encapsulamento convenientes para uso no WPF ou no WinForms.
DesktopWindowXamlSource
e os tipos relacionados foram adicionados ao namespace Microsoft.UI.Xaml.Hosting para o XAML Islands.XamlRoot.ContentIslandEnvironment
foi adicionado para ajudar a acessar as informações da Ilha subjacentes de um elemento.- Vários tipos novos foram apresentados nos namespaces Microsoft.UI.Content e Microsoft.UI.Input como suporte subjacente para Ilhas XAML ou para utilizar essa funcionalidade ContentIslands sem XAML.
- Um novo
DragDropManager
(além dos tipos relacionados) foi adicionado ao namespace Microsoft.UI.Input.DragDrop para cenários de Ilhas.
Atualizações de ItemsView
A nova classe ItemsView
que foi introduzida na versão 1.4-preview1 foi substancialmente atualizada com novas propriedades e uma nova classe de suporte.
- O novo controle
ItemsView
exibe uma coleção de dados. OItemsView
é semelhante aos controlesListView
eGridView
, mas é criado utilizando os componentesItemsRepeater
,ScrollView
,ItemContainer
eItemCollectionTransitionProvider
. Ele oferece a capacidade exclusiva de conectar implementações personalizadas deLayout
ouItemCollectionTransitionProvider
. Outra vantagem importante é a capacidade de alternar o layout em tempo real, preservando a seleção de itens. O controleScrollView
interno também oferece recursos que não estão disponíveis no controleListView
/GridView
doScrollViewer
, como a capacidade de controlar a animação durante rolagens programáticas.- Uma nova propriedade
ItemTransitionProvider
emItemsRepeater
(e no novo controleItemsView
) permite que você especifique um objetoItemCollectionTransitionProvider
para controlar as animações de transição nesse controle. Um métodoCreateDefaultItemTransitionProvider
também foi adicionado aLayout
, o que permite que um objeto de layout forneça uma transição de fallback para acompanhá-lo, se você não fornecer uma explicitamente no controleItemsView
. - Uma nova propriedade
IndexBasedLayoutOrientation
emLayout
em que a orientação do layout, se houver, dos itens é baseada em seu índice na coleção de origem. O valor padrão éIndexBasedLayoutOrientation.None
. Os layouts personalizados definem essa propriedade chamando o novo métodoSetIndexBasedLayoutOrientation
(protegido). - Uma nova propriedade
VisibleRect
emVirtualizingLayoutContext
obtém o retângulo da janela de visualização visível dentro doFrameworkElement
associado aoLayout
. O método virtualVirtualizingLayoutContext.VisibleRectCore
protegido pode ser substituído para fornecer o valor que será retornado da propriedadeVisibleRect
.
- Uma nova propriedade
- A nova classe
LinedFlowLayout
é normalmente utilizada para dispor os itens do controle de coleçãoItemsView
. É particularmente útil para exibir uma coleção de imagens. Ele faz isso dispondo-os da esquerda para a direita e de cima para baixo, em linhas de altura igual. As imagens preenchem uma linha horizontal e, em seguida, encapsulam em uma próxima linha. As imagens podem ser cortadas nas bordas esquerda e direita para caber em uma linha. Eles também podem ser expandidos horizontalmente e cortados nas bordas superior e inferior para preencher uma linha quando o modo de alongamento for empregado.
Novos recursos e atualizações de todo o WinAppSDK
Popup/FlyoutBase.IsConstrainedToRootBounds = false
agora é suportado, permitindo que um pop-up/menu suspenso se estenda para fora dos limites da janela pai. Uma propriedadeSystemBackdrop
foi adicionada a esses tipos para dar suporte ao acrílico nesses popups sem restrições. Por padrão, os menus utilizam isso para ter o acrílico.Closed
,FrameworkClosed
eIsClosed
foram adicionados aDesktopAcrylicController
eMicaController
para melhorar o tratamento durante o desligamento de objetos/thread.DesktopAcrylicController.Kind
agora pode ser definido para escolher entre algumas aparências padrão de acrílico.DispatcherQueue
tem alguns novos eventos e auxiliares para facilitar o desligamento melhor organizado e para que os aplicativos que utilizam Ilhas executem facilmente um loop de eventos com suporte padrão.InputNonClientPointerSource
no namespace Microsoft.UI.Input pode ser utilizado em cenários personalizados da barra de título para definir regiões que não sejam da área do cliente. O código pode se registrar para eventos correspondentes, como eventos de passar o mouse e clicar nessas regiões.AppWindow
tem alguns novos auxiliares para obter e associar a umDispatcherQueue
.- O novo evento
TreeView.SelectionChanged
permite que os desenvolvedores respondam quando o usuário ou o código por trás altera o conjunto de nós selecionados no controleTreeView
. - O novo controle
ScrollView
fornece uma nova alternativa aoScrollViewer
. Esse novo controle é altamente alinhado em comportamento e API com o controleScrollViewer
existente, mas é baseado emInteractionTracker
, tem novos recursos, como alterações de exibição orientadas por animação, e também foi projetado para garantir a funcionalidade completa deItemsRepeater
. Consulte Um problema mais flexível do ScrollViewer - Problema n.º 108 - microsoft/microsoft-ui-xaml (github.com) para obter mais detalhes. Vários novos tipos, incluindoScrollPresenter
, fazem parte do modeloScrollView
de modo geral. - O novo controle
AnnotatedScrollBar
amplia a funcionalidade de uma barra de rolagem regular, fornecendo uma maneira fácil de navegar por uma grande coleção de itens. Isso é feito por meio de um trilho clicável com rótulos que funcionam como marcadores. Ele também permite uma compreensão mais granular do conteúdo rolável, exibindo uma dica de ferramenta ao passar o mouse sobre o trilho clicável.
Novas APIs na versão 1.4.0-preview2
A versão 1.4-preview2 inclui as seguintes novas APIs em comparação com a versão 1.4-preview1 anterior:
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
Versão 1.4 Preview 1 (1.4.0-preview1)
Esta é a versão mais recente do canal de preview para a versão 1.4.
Em um SDK do Aplicativo Windows 1.3 existente (do canal estável), você pode atualizar seu pacote Nuget para 1.4.0-preview1 (confira a seção Atualizar um pacote em Instalar e gerenciar pacotes no Visual Studio usando o Gerenciador de Pacotes NuGet).
Para visualizar o runtime atualizado e o MSIX, confira Downloads mais recentes do SDK do Aplicativo Windows.
Atualizações de widgets
Três novas interfaces foram adicionadas para os Provedores de Widget implementarem: IWidgetProvider2
, IWidgetProviderAnalytics
e IWidgetProviderErrors
. IWidgetProvider2
permite que os provedores respondam à ação Personalizar invocada pelo usuário, que é idêntica à que está disponível para Widgets primários. As interfaces IWidgetProviderAnalytics
e IWidgetProviderErrors
são utilizadas pelos provedores para coletar a telemetria de seus widgets; os eventos de falha e a análise sobre os widgets são comunicados aos respectivos provedores de widgets. As classes WidgetCustomizationRequestedArgs
, WidgetAnalyticsInfoReportedArgs
e WidgetErrorInfoReportedArgs
são utilizadas para comunicar informações relevantes para dar suporte a novas funcionalidades.
Novos recursos de todo o WinAppSDK
- Uma nova classe
ThemeSettings
que permite que os aplicativos Win32 WinRT detectem quando a configuração de Alto Contraste do sistema foi alterada, de modo semelhante à classe AccessibilitySettings da UWP. Consulte a especificação da API ThemeSettings no GitHub para obter mais informações. - Agora. o
Popup/FlyoutBase.ShouldConstrainToRootBounds
é suportado para permitir que dicas de ferramentas, menus e outros pop-ups se estendam além dos limites da janela principal. O Preview 1 ainda não suporta totalmente ter acrílico ou outros SystemBackdrops em um pop-up/menu suspenso; as APIs adicionais e a implementação para isso serão incluídas na próxima versão 1.4. AccessKeyManager.EnterDisplayMode
é um novo método para exibir chaves de acesso para o elemento atualmente focado de uma raiz fornecida. As teclas de acesso estão no "modo de exibição" quando mostram uma dica de tecla para invocar um comando, como pressionar a tecla Alt no Paint para mostrar quais teclas correspondem a quais controles. Esse método permite a inserção programática no modo de exibição.Application.ResourceManagerRequested
fornece um mecanismo para fornecer umIResourceManager
diferente para resolver URIs de recursos em cenários nos quais oResourceManager
padrão não funciona. Para obter mais informações, confira a especificação Application.ResourceManagerRequested API no GitHub.- Estamos introduzindo um novo controle de lista chamado
ItemsView
e uma classeItemContainer
concreta correspondente.ItemContainer
é um contêiner leve com estados de seleção internos e recursos visuais, que pode facilmente encapsular o conteúdo desejado e ser utilizado comItemsView
para um cenário de controle de coleção.ItemsView
ainda está marcado como experimental no Preview 1, mas será incluído na próxima versão 1.4. - A versão do SDK do WebView2 foi atualizada da 1661.34 para 1823.32.
Novas APIs na versão 1.4.0-preview1
A versão 1.4-preview1 inclui as seguintes novas APIs em comparação com a versão estável 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
Tópicos relacionados
- Notas sobre a versão de canal estável mais recente para o SDK de Aplicativo do Windows
- Notas sobre a versão do canal experimental mais recente para o SDK de Aplicativo do Windows
- Instalar ferramentas para o SDK do Aplicativo Windows
- Criar seu primeiro projeto WinUI 3 (SDK do Aplicativo Windows)
- Usar o SDK do Aplicativo do Windows em um projeto existente
- Visão geral da implantação
Windows developer