Notas sobre a versão do canal estável para o SDK do Aplicativo Windows 1.5
O canal estável fornece versões do SDK do Aplicativo Windows com suporte para uso por aplicativos em ambientes de produção. Os aplicativos que usam a versão estável do SDK do Aplicativo Windows também podem ser publicados no Microsoft Store.
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.
Versão de canal estável mais recente:
Downloads para o SDK do Aplicativo Windows
Observação
As extensões do Visual Studio do SDK de Aplicativo do Windows (VSIX) não são mais distribuídas como um download separado. Elas estão disponíveis no Visual Studio Marketplace dentro do Visual Studio.
Versão 1.5.8 (1.5.241107002)
Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.5.
- Corrigida uma possível falha quando a fila de entrada no thread parece estar em um estado ruim.
- Corrigidas algumas falhas potenciais ao usar
{x:Bind}
, verificando se há nulo em todos os componentes. Os aplicativos que desejam essa correção precisam ser recompilados com esta versão.
Versão 1.5.7 (1.5.241001000)
Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.5.
- Adicionada detecção para um cenário raro em que o aplicativo para de renderizar e nunca se recupera.
- Corrigida uma possível falha quando um thread da interface do usuário não é inicializado.
- Corrigido um possível problema em que um menu de uma CommandBar pode ter sido aberto incorretamente em vez de para baixo quando a CommandBar estava na parte inferior da janela.
Versão 1.5.6 (1.5.240802000)
Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.5.
- Corrigido um problema com
InputNonClientPointerSource
as teclas de entrada Mín/Máx/Fechar. Para obter mais informações, consulte o problema #9749 do GitHub. - Corrigida uma possível falha ao fechar uma janela ao usar um touchpad.
Versão 1.5.5 (1.5.240627000)
Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.5.
- Corrigida uma possível falha durante o carregamento da imagem quando a fonte da imagem é alterada antes da conclusão do carregamento.
- Corrigida uma possível falha ao usar
InputNonClientPointerSource
o . - Corrigido um problema em que uma janela contendo apenas um controle WebView2 não definia corretamente o foco inicial do teclado no WebView2, deixando-o inutilizável pelo teclado e pelas ferramentas de acessibilidade. Para obter mais informações, consulte o problema do GitHub WebView2Feedback#2330.
Versão 1.5.4 (1.5.240607001)
Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.5.
- Corrigido um problema com a correção do problema #8857 do GitHub para mesclar corretamente o resources.pri de uma biblioteca com o resources.pri do aplicativo.
- Corrigido um problema em que o WebView2 enviava eventos extras
blur
efocus
a cada clique. Para obter mais informações, consulte o problema #9288 do GitHub. Isso também corrige problemas com menus suspensos que não respondem, como visto no problema #9566 do GitHub. - Corrigido um problema em que a criação de uma nova janela ou pop-up cancelava qualquer operação de arrastar em andamento. Para obter mais informações, consulte o problema #9360 do GitHub.
- Corrigido um problema em que os arquivos SVG que definiam uma caixa de visualização negativa não eram mais renderizados. Para obter mais informações, consulte o problema #9415 do GitHub.
- Corrigido um problema em
x:Bind
que não se verificava se havia nulo antes de usar uma referência fraca, o que poderia resultar em uma falha. Para obter mais informações, consulte o problema #9551 do GitHub. - Corrigido um problema em que um cursor de redimensionamento era mostrado incorretamente nas bordas da barra de título quando uma janela era maximizada, o que também causava um comportamento incorreto ao clicar ou arrastar nessas áreas. Para obter mais informações, consulte o problema #8665 do GitHub.
Versão 1.5.3 (1.5.240428000)
Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.5.
- Foi corrigido um problema em que o
ItemsRepeater
às vezes fazia com que sua janela fosse trazida para a frente. - Foi corrigida uma possível falha quando o estado de transparência de um
AcrylicBrush
era atualizado. - Foi corrigido um problema em que o
ItemsRepeater
não gerava itens suficientes se estivesse em um pop-upShouldConstrainToRootBounds="false"
mais alto ou mais largo do que a janela principal. - Foi corrigido um problema em que o erro MSB4086 poderia ocorrer no momento da compilação se o arquivo de projeto não especificasse uma TargetPlatformVersion. Esse erro foi corrigido como parte do problema nº 9531 do GitHub.
Versão 1.5.2 (1.5.240404000)
Esta é uma versão de manutenção do SDK de Aplicativos do Windows que inclui correções de bugs críticos para a versão 1.5 e um novo recurso para provedores de feed de Widgets.
Atualizações do provedor de feed de widgets
- Os provedores de feed agora podem mostrar anúncios no Painel de widgets:
- A nova
FeedManager.TryShowAnnouncement
API permite que um Provedor de feeds solicite que o Painel de widgets mostre seus anúncios. Para mostrar seu anúncio, crie um objetoFeedAnnouncement
e chame a APIFeedManager.TryShowAnnouncement
. - Os anúncios de feed terão seus próprios selos exibidos na barra de tarefas, e eles podem ser personalizados usando a API
FeedAnnouncement
.
- A nova
- Os provedores de feed agora podem optar por receber informações dos relatórios de análises e de erros sobre seu provedor à medida que um usuário interage com ele. Para aceitar, implemente as interfaces
IFeedProviderAnalytics
e/ouIFeedProviderErrors
pelo seu provedor.
As atualizações do provedor de feed incluem as seguintes novas APIs:
Microsoft.Windows.Widgets.Feeds.Providers
FeedAnalyticsInfoReportedArgs
FeedErrorInfoReportedArgs
FeedManager
SendMessageToContent
TryShowAnnouncement
FeedMessageReceivedArgs
FeedResourceRequest
FeedResourceRequestedArgs
FeedResourceResponse
IFeedAnnouncementInvokedTarget
IFeedManager2
IFeedProviderAnalytics
IFeedProviderErrors
IFeedProviderMessage
IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
AnnouncementActionKind
AnnouncementTextColor
FeedAnnouncement
FeedAnnouncementInvokedArgs
Correções de bug
- Corrigido um problema em que
DispatcherTimer
não disparava no momento correto se a tela principal não estivesse funcionando a 60 Hz. - Corrigido um problema em que uma janela do editor de método de entrada (IME) da caixa de texto era posicionada incorretamente ao ser executada em um fator de escala diferente de 100%. Para obter mais informações, confira o issue n.º 9382 do GitHub.
- Corrigido um problema em que uma operação de arrastar e soltar iniciada a partir de outro aplicativo pode não permitir as operações certas de Copiar/Mover/Vincular.
- Corrigida uma falha potencial quando um
ItemsSource
do ListView é redefinido e recebe foco imediatamente. - Corrigido um problema em que pop-ups/submenus de
ShouldConstrainToRootBounds="false"
não aplicavam nenhuma transformação de escala herdada. Para mais informações, consulte os problemas 9118 e 9433 do GitHub. - Corrigida uma falha potencial quando um objeto Composition é destruído com uma animação ainda em execução.
- Corrigida uma falha potencial no desligamento em
NavigationView::RevokeNavigationViewItemRevokers
.
Versão 1.5.1 (1.5.240311000)
Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.5.
- Foi corrigido um problema em que aplicativos independentes falhavam ao compilar por não ser possível copiar "map.html".
- Foi corrigido um problema em que
MapControl
não inicializava devido à rejeição de tokens válidos. Para obter mais informações, confira o issue n.º 9324 do GitHub. - Foi corrigido um problema em que
MapControl
era carregado com um fundo azul. Para obter mais informações, confira o issue n.º 9377 do GitHub. - Foi corrigido um problema em que clicar na divisa de um
NavigationViewItem
não expandia nem recolhia corretamente em um único clique. Isso também fazia com que os menus fossem exibidos como em branco ao clicar na divisa no modoPaneDisplayMode="Top"
. Para mais informações, consulte os problemas 9423 e 9426 do GitHub. - Foi corrigido um problema em que tocar em um
NavigationViewItem
com caneta ou toque impedia que o item respondesse a qualquer entrada futura. Para obter mais informações, confira o issue n.º 9429 do GitHub. - Foi corrigido um erro ao clicar em um item na área
NavigationView.PaneFooter
. Para obter mais informações, confira o issue n.º 9396 do GitHub. - Foi corrigido um problema em que ícones em menus às vezes eram exibidos no lugar errado. Para obter mais informações, confira o issue n.º 9409 do GitHub.
- Foi corrigido um problema em que o acrílico não aparecia nos menus até sair da janela e voltar. Para obter mais informações, confira o issue n.º 9406 do GitHub.
- Foi corrigida uma falha que poderia ocorrer durante a inicialização do
TextBox
/RichEditBox
. Para obter mais informações, confira o issue n.º 9216 do GitHub. - Foram corrigidas algumas exceções ruidosas que
NavigationView
gerava e capturava na destruição. - Foi corrigido um problema em que um gesto de "apertar para ampliar" às vezes aparecia como um movimento panorâmico ou toque devido ao disparo incorreto de uma mensagem
PointerCaptureLost
.
Versão 1.5
As seções a seguir descrevem recursos novos e atualizados e problemas conhecidos para a versão 1.5.
Em um aplicativo existente do SDK do Aplicativo Windows 1.4, é possível atualizar o pacote Nuget para 1.5.240227000 (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 para o SDK do Aplicativo Windows.
Atualizações de tempo de execução e desligamento de Ilhas XAML
Há uma distinção comportamental entre o WinAppSDK 1.4 e o WinAppSDK 1.5 para aplicativos baseados em Ilhas XAML quando a última janela XAML é fechada em qualquer thread.
- No WinAppSDK 1.4, o tempo de execução de XAML sempre sai do loop de eventos do thread quando a última janela XAML em um thread é fechada.
- No WinAppSDK 1.5:
- Se seu aplicativo for da área de trabalho WinUI, o comportamento padrão ainda será igual ao do WinAppSDK 1.4.
- Se você estiver usando XAML para a API DesktopWindowXamlSource ("Ilhas XAML"), o comportamento padrão será que o XAML não sairá automaticamente do loop de eventos do thread.
- Nos dois modos, é possível alterar esse comportamento definindo a propriedade
Application.DispatcherShutdownMode
.
Para saber mais, consulte a documentação da propriedade Application.DispatcherShutdownMode
quando disponível. Isso completa a proposta nº 8492 do GitHub.
Há uma distinção comportamental entre o WinAppSDK 1.4 e o WinAppSDK 1.5 para aplicativos baseados em Ilhas XAML na vida útil do tempo de execução de XAML:
- No WinAppSDK 1.4, o tempo de execução do XAML será desligado em um thread se todos os objetos
WindowsXamlManager
eDesktopWindowXamlSource
em certo thread forem fechados ou desligados, ou a execuçãoDispatcherQueue
nesse thread for encerrada (nesse caso, o tempo de execução do XAML será desligado durante o estágioDispatcherQueue.FrameworkShutdownStarting
). - No WinAppSDK 1.5, o tempo de execução do XAML é desligado em um thread somente quando o DispatcherQueue em execução nesse thread é desligado (o tempo de execução do Xaml sempre é desligado durante o estágio
DispatcherQueue.FrameworkShutdownStarting
).
Para obter mais informações, confira a documentação da classe WindowsXamlManager
quando disponível.
Há uma diferença de comportamento em WindowsXamlManager.InitializeForCurrentThread()
:
- No WinAppSDK 1.4,
WindowsXamlManager.InitializeForCurrentThread()
retorna uma instância exclusiva de um objetoWindowsXamlManager
com cada chamada. - No WinAppSDK 1.5,
WindowsXamlManager.InitializeForCurrentThread()
retorna uma instância existente se já existir uma no thread.Close/Dispose()
agora é ignorado.
Controle de mapas WinUI
O controle Maps
do WinUI já está disponível! Esse controle é das plataformas WebView2 e Azure Mapas, fornecendo os seguintes recursos:
- Movimento panorâmico e ampliação com os botões do mapa ou toque.
- Alterar o estilo do mapa para exibição de satélite, terreno ou rua.
- Adicionando programaticamente pinos interativos com ícones personalizáveis pelo desenvolvedor ao mapa.
- Personalização do desenvolvedor para onde o mapa está centrado na carga inicial.
- Controle para desenvolvedores sobre ocultar ou mostrar os botões para movimento panorâmico, ampliação e estilos de mapa.
Observação
Para usar o controle Maps
, você precisará de uma chave do Azure Mapas. Para criar a chave, consulte a página de documentação do Azure Mapas para criar um aplicativo Web.
O controle Maps
é totalmente novo e agradecemos seus comentários para avaliar a direção futura!
Novo controle SelectorBar
Na versão 1.5, adicionamos um novo controle SelectorBar
para permitir que os usuários alternem entre várias exibições de dados. Esse controle era anteriormente conhecido como "SegmentedControl" em nosso roteiro 1.5.
Rótulos nos comandos principais CommandBarFlyout
Os visuais de CommandBarFlyout
foram atualizados para exibir um rótulo de texto para os itens na área de comandos principais se a propriedade Label
tiver sido definida no AppBarButton
. Anteriormente, os comandos principais na área CommandBarFlyout
exibiam apenas um ícone, mas agora eles podem mostrar um ícone e um rótulo para melhorar a usabilidade.
Suporte a WebView2 para ambiente/opções personalizadas
O controle WebView2
do WinUI agora expõe a capacidade de personalizar o objeto subjacente CoreWebView2
com CoreWebView2Environment
e CoreWebView2ControllerOptions
personalizados. Isso permite que o autor do aplicativo especifique um caminho alternativo a partir do qual carregar o WebView2Runtime, optar por usar um UserDataFolder diferente ou definir opções como IsPrivateModeEnabled e ScriptLocale.
Suporte para .NET 8
Adicionamos suporte para o .NET 8 em uma versão de manutenção 1.4 recente, mas isso ainda manteve o aviso para o uso de RIDs específicos da plataforma. Em 1.5, concluímos esse trabalho para que o aviso não esteja mais presente.
Depuração e disponibilidade de origem aprimoradas
Agora injetamos informações do servidor de origem do Github para código no repositório microsoft-ui-xaml em nossos símbolos públicos, permitindo que os depuradores baixem automaticamente o código-fonte. Também fizemos outras correções e melhorias em nossos símbolos em todo o WinAppSDK para melhorar a experiência de depuração.
Funcionalidade aprimorada para depuração de ciclos de layout
Depurar ciclos de layout em um aplicativo do WinUI pode ser um desafio, portanto, na versão 1.5, o objeto DebugSettings
agora expõe opções para habilitar o registro em log aprimorado e pontos de interrupção para o processo de layout para facilitar a depuração e a correção de ciclos de layout no aplicativo.
Outros recursos novos do WinAppSDK
- Suporte adicionado para o modelo de implantação PublishSingleFile. Para saber mais sobre o PublishSingleFile, consulte a documentação de implantação de arquivo único.
- Melhorias adicionadas ao suporte ao leitor de tela, suporte a dimensionamento de texto e outros recursos de acessibilidade.
- Várias melhorias de estabilidade e desempenho com base em nossa lista de pendências de bugs do GitHub.
Novos recursos sendo lançados separadamente
Novas versões do modelo do WinAppSDK do Visual Studio para C# e C++ estão sendo lançadas por meio do Visual Studio Marketplace e aparecerão algumas semanas após o lançamento da versão 1.5. Com a nova versão, os modelos agora podem ser lançados independentemente das versões do WinAppSDK, permitindo que tenhamos muito mais flexibilidade na obtenção de atualizações para os clientes.
Outros recursos planejados anteriormente
Na versão 1.5, avançamos nos recursos a seguir que anunciamos em nosso roteiro, mas não os concluímos. Eles continuarão no período da versão 1.6.
- Janelas tabuladas
- Suporte de arrastar e soltar para WebView2
- Para esclarecer, na versão 1.5 há suporte para arrastar para o WebView2, como arrastar um PNG do Explorador de Arquivos para o Bing para Pesquisa Visual. O trabalho está em andamento na versão 1.6 para dar suporte ao arrastar para fora do WebView2.
- Investigações sobre a exibição de tabela e controles de tinta
A iluminação dinâmica foi removida do roteiro por enquanto.
Problemas conhecidos
- Ao usar bibliotecas que contêm recursos como arquivos .xaml, você pode encontrar uma mensagem de erro em runtime indicando que esses recursos não podem ser encontrados. Nesse caso, pode ser necessário inserir
<ShouldComputeInputPris>true</ShouldComputeInputPris>
no arquivo de projeto para garantir que esses recursos sejam incluídos. - Clicar na divisa de um
NavigationViewItem
não mais expande ou recolhe corretamente em um único clique. Clicar duas vezes ainda funciona, assim como clicar em outro lugar noNavigationViewItem
.
Correções de bug
- Corrigido um problema em que
StackPanel
aplicava espaçamento a itens recolhidos. Para obter mais informações, confira o issue n.º 916 do GitHub. - Corrigidos problemas com controles de rolagem que não funcionavam mais depois de fechar outra janela do aplicativo. Para obter mais informações, consulte os problemas nº 9292 e nº 9355 do GitHub.
- Corrigida uma falha ao definir
DebugSettings.EnableFrameRateCounter
como true antes do primeiro quadro renderizado. Para obter mais informações, confira o issue n.º 2835 do GitHub. - Corrigido um possível erro de compilação para C++ em que alguns cabeçalhos não incluíam dependências necessárias. Observe que a alteração da ordem de
#include
pode afetar alguns aplicativos, como possivelmente causar um erro de compilação paraIInspectable
se o aplicativo estiver usando uma versão do C++/WinRT anterior a 2023. Para obter mais informações, confira o issue n.º 9014 do GitHub. - Corrigido um problema em que
ElementName
as associações não funcionavam dentro doItemsRepeater
DataTemplate
. Para obter mais informações, confira o issue n.º 560 do GitHub. - Corrigidas falhas ao executar um aplicativo no Visual Studio com a barra de ferramentas no aplicativo habilitada. O Visual Studio 17.8 Preview 2 ou posterior é necessário para obter totalmente as correções. Para obter mais informações, confira o issue n.º 8806 do GitHub.
- Corrigido um problema em que
AnnotatedScrollbar
às vezes podia falhar ao rolar rapidamente. - Corrigido um problema em que o texto do menu às vezes ficava truncado.
- Problema corrigido em que dicas de ensino não recebiam o devido foco. Para obter mais informações, confira o issue n.º 3257 do GitHub.
- Problema corrigido que travava o aplicativo ao definir o
TailVisibility
de umTeachingTip
como Recolhido na inicialização. Para saber mais, confira o problema n.º 8731 do GitHub. - Corrigido um problema com a forma como os arquivos PRI eram tratados ao usar bibliotecas. Para obter mais informações, confira o issue n.º 8857 do GitHub.
- Corrigido um problema da versão 1.5-experimental2 em que a DLL de projeção não era gerada. Para obter mais informações, confira o issue n.º 4152 do GitHub.
- Problema corrigido em que o botão de reticências no pop-up de formatação de texto do
RichEditBox
não exibia a lista de ações devidamente. Para obter mais informações, confira o issue n.º 9140 do GitHub. - Problema corrigido em que
ListView
não tratava adequadamente aceleradores de teclado. Para saber mais, confira o problema n.º 8063 do GitHub. - Problema corrigido de violação de acesso com o uso de
AccessKey
para fechar uma janela. Para obter mais informações, confira o issue n.º 8648 do GitHub. - Corrigida uma falha ao usar um
AccessKey
para fechar uma janela. Para obter mais informações, confira o issue n.º 9002 do GitHub. - Problema corrigido que afetava o alinhamento de texto em um
MenuFlyoutItem
em umMenuBar
. Para obter mais informações, confira o issue n.º 8755 do GitHub. - Problema corrigido em que o texto destacado não permanecia destacado ao clicar com o botão direito do mouse. Para obter mais informações, confira o issue n.º 1801 do GitHub.
- Problema corrigido que levava janelas inativas a travar o aplicativo quando fechado. Para obter mais informações, confira o issue n.º 8913 do GitHub.
- Problema corrigido que podia travar aplicativos ao rolar com o botão do meio do mouse e, logo depois, clicar com o botão esquerdo do mouse. Para obter mais informações, confira o issue n.º 9233 do GitHub.
- Corrigido um problema que provocava falha na inicialização dos aplicativos ao usar um
NavigationViewItem
personalizado. Para obter mais informações, confira o issue n.º 8814 do GitHub. - Corrigido um problema do
NavigationView
em que o botão de reticências gerava um erro incorretamente. Para obter mais informações, confira o issue n.º 8380 do GitHub. - Corrigido um problema em que um
SystemBackdrop
não era renderizado corretamente em um aplicativo com várias janelas. Para obter mais informações, confira o issue n.º 8423 do GitHub. - Corrigido um problema de duplicação ao inserir no início de um
ObservableCollection
. Para obter mais informações, confira o issue n.º 8370 do GitHub.
Tópicos relacionados
- Notas sobre a versão mais recente do canal de pré-visualização 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