Compartilhar via


Notas de versão do Windows App SDK 1.6

Você pode escolher entre os canais Estável, Visualização e Experimental , dependendo de suas necessidades de desenvolvimento, desde builds de produção confiáveis até acesso antecipado a recursos futuros. Saiba mais sobre canais de versão.

Para visualizar o runtime atualizado e o MSIX, confira Downloads para o SDK do Aplicativo Windows.

Versão 1.6.9 (1.6.250602001)

Correções
  • Correção de uma possível falha em WindowChrome::SetTitleBar ao fechar uma janela. Para obter mais informações, consulte o problema do GitHub nº 9203.

Versão 1.6.8 (1.6.250430001)

Suporte à criação de pasta ApplicationData.MachinePath

ApplicationData.MachineFolder agora é mais fácil de usar no Windows >=10.0.26100.0 (Ge). O Windows criará a pasta Machine quando um pacote que manifesta o suporte de aceitação for adicionado a um sistema se o SDK do Aplicativo do Windows 1.6.8 estiver presente no sistema. Para obter mais detalhes, consulte a especificação ApplicationData.

Correções
  • Corrigida a telemetria do PackageDeploymentManager para capturar corretamente o status de conclusão. Para obter mais informações, consulte o problema do GitHub nº 5297.
  • Correção de uma falha ao usar a entrada de caneta em um aplicativo x86.
  • Correção de uma possível falha se a janela já estiver destruída quando o WinUI estiver tentando inicializar para rolagem.
  • Corrigido a definição de WINDOWSAPPSDK_RELEASE_PATCH e os valores de Microsoft::WindowsAppSDK::Release::Patch no WindowsAppSDK-VersionInfo.h para que não sejam sempre 0. A definição agora é a data no formato yymmdd do build, e o valor do Patch é a data no formato mmdd. Essa alteração fornece melhores informações de runtime sobre a versão que está sendo usada sem alterar nenhum tamanho de variável ou o esquema de versão.

Versão 1.6.7 (1.6.250402001)

Correções
  • Melhorou a telemetria para cenários de falha em WindowsAppRuntimeInstall-<arch>.exe. Para obter mais informações, consulte o problema do GitHub nº 5291.
  • Corrigido um problema em que a entrada de ponteiro parava de funcionar ao usar teclas de direção simultaneamente. Para obter mais informações, consulte o problema do GitHub nº 10126.
  • Correção de um problema em que os aplicativos na área de trabalho remota param de responder à entrada do ponteiro. Para obter mais informações, consulte o problema do GitHub nº 10009. (Essa é a mesma correção para entrada de ponteiro mais teclas de seta, devido à área de trabalho remota enviar automaticamente algumas entradas de teclas durante a alternância de ida e volta.)
  • Correção de uma possível falha ao tentar restaurar o foco se um evento de ativação de janela for entregue para uma janela que está fechando.
  • Foi corrigida uma regressão de desempenho introduzida na versão 1.6 do SDK do Aplicativo do Windows devido à falta de algumas otimizações de linkagem nos binários WinUI.
  • Correção de um pequeno problema de desempenho ao criar várias janelas/ilhas WinUI.
  • Corrigido uma possível falha de sistema se ProgressBar::SetProgressBarIndicatorWidth for chamado num ProgressBar que não está na árvore.
  • Correção de uma possível falha causada pela reentrada, às vezes disparada por CPopup::EnsureBridgeClosed.
  • Correção de uma possível falha ao fechar um pop-up devido ao CUIElement::FlushPendingKeepVisibleOperations uso de uma coleção de filhos nula.
  • Corrigido PackageDeploymentManager.EnsurePackage*Ready para garantir a substituição de versão. Para obter mais informações, consulte o problema do GitHub nº 5225.

Versão 1.6.6 (1.6.250228001)

Correções Esta é uma versão de manutenção do SDK do Aplicativo do Windows que inclui correções de bug críticas para a versão 1.6.
  • Foi corrigido um problema em que uma janela secundária que enviava WM_NCMOUSELEAVE para a janela principal resultava em um loop que bloqueava novos eventos de entrada do mouse.
  • Corrigido um travamento que ocorreria durante o próximo evento AppWindow.Changed após uma falha no processo do WebView2.
  • Correção de uma possível falha ao usar uma ferramenta de acessibilidade e fechar uma janela.
  • Foi corrigido um problema em que uma caixa de texto não aceitava a entrada de teclas se o foco fosse dado ao clicar na área do botão limpar da caixa de texto. Para obter mais informações, consulte o problema do GitHub nº 7703.
  • Corrigido um problema em que uma dica de ferramenta não era mostrada para o botão Minimizar na barra de título ao usar ExtendsContentIntoTitleBar=true. Para obter mais informações, consulte o problema do GitHub #9149.

Esta versão inclui as seguintes novas APIs:

Uma nova IsPlaceholderContent propriedade em WidgetInfo e WidgetUpdateRequestOptions habilita que um provedor de Widget indique que ele exibirá o conteúdo do espaço reservado se renderizado. Por exemplo, um Widget que mostra informações meteorológicas deve definir IsPlaceholderContent como true se o usuário ainda não tiver especificado um local meteorológico e o Widget estiver apenas mostrando informações meteorológicas para um local padrão como Seattle. Quando um Widget é marcado como espaço reservado, determinados hosts podem decidir ocultar o Widget ou priorizar outros Widgets.

Microsoft.Windows.Widgets.Providers

    WidgetInfo
        IsPlaceholderContent

    WidgetUpdateRequestOptions
        IsPlaceholderContent

Versão 1.6.5 (1.6.250205002)

Correções de bug – correção de vários problemas de vazamento de memória.

Versão 1.6.4 (1.6.250108002)

Correções de bugs – Corrigimos um problema com o realce da seleção de texto em uma caixa de texto de várias linhas. Para obter mais informações, consulte o problema do GitHub [nº 9965](https://github.com/microsoft/microsoft-ui-xaml/issues/9965). - Corrigido um problema em que o pacote DDLM às vezes não era instalado, impedindo a inicialização de aplicativos não empacotados. Para obter mais informações, consulte o problema do GitHub [nº 3855](https://github.com/microsoft/WindowsAppSDK/issues/3855). - Corrigido um possível travamento em Detours em alguns cenários. Para obter mais informações, consulte o problema do GitHub [nº 4937](https://github.com/microsoft/WindowsAppSDK/pull/4937). - Corrigido outro problema potencial em que um menu de um CommandBar poderia abrir incorretamente para cima em vez de para baixo quando o CommandBar estiver na parte inferior da janela. - Correção de uma possível falha ao executar o hardware gráfico mais antigo. - Correção de uma possível falha no tratamento de eventos de ponteiro ao fechar uma janela. - Correção de uma possível falha causada por 'CUIAWindow::InitIds' às vezes ativando a reentrância. - Correção de uma possível falha ao usar o evento 'CompositionCapabilities.Changed'. - Corrigido um problema com alguns caracteres Unicode exibidos como quadrados em TextBox/RichEditBox. - Corrigido o tratamento `PackageDeploymentManager.EnsurePackage*Async()` de `options.RegisterNewerIfAvailable`. Para obter mais informações, consulte o problema do GitHub [nº 4864](https://github.com/microsoft/WindowsAppSDK/issues/4864).

Versão 1.6.3 (1.6.241114003)

Correções Esta é uma versão de manutenção do SDK do Aplicativo do Windows que inclui correções de bug críticas para a versão 1.6. - Corrigido um problema em que a leitura da propriedade 'AppWindow.ExtendsContentIntoTitleBar' ativa a renderização da barra de título personalizada. Para obter mais informações, consulte o problema do GitHub [nº 9988](https://github.com/microsoft/microsoft-ui-xaml/issues/9988). - Correção de uma possível falha durante a destruição de um 'TextBox'/'RichEditBox'. Para obter mais informações, consulte o problema do GitHub [#9070](https://github.com/microsoft/microsoft-ui-xaml/issues/9070). - Corrigido um problema em que 'PackageDeploymentManager.IsPackageReadyOrNewerAvailable()' falhava. Para obter mais informações, consulte o problema do GitHub [nº 4817](https://github.com/microsoft/WindowsAppSDK/issues/4817). - Corrigido um problema em que 'ScrollViewer' vazaria. - Foi adicionada a detecção para um cenário raro em que o aplicativo para de renderizar e nunca se recupera. - Corrigido um problema em que 'PackageDeploymentManager.RegisterPackageSetAsync()' exigia URI quando deveria ser opcional registrar pelo PackageFamilyName. - Corrigido um problema que impedia que os aplicativos fossem instalados ou desinstalados. Para obter mais informações, consulte o problema do GitHub [nº 4881](https://github.com/microsoft/WindowsAppSDK/issues/4881).

Esta versão inclui as seguintes novas APIs que permitem que os provedores de Widgets incorporem conteúdo da Web em seus Widgets:

Microsoft.Windows.Widgets.Providers 
  IWidgetManager2 
  IWidgetProviderMessage 
  IWidgetResourceProvider 
  WidgetManager 
     SendMessageToContent 

  WidgetMessageReceivedArgs 
  WidgetResourceRequest 
  WidgetResourceRequestedArgs 
  WidgetResourceResponse 

Versão 1.6.1 (1.6.240923002)

Bugfixes
  • Corrigida uma falha ao usar FocusVisualKind.Reveal(). Para obter mais informações, consulte o problema #9966 do GitHub.
  • Corrigidas exceções C++ ruidosas do Bcp47Langs.dll. Para obter mais informações, consulte o problema #4691 do GitHub. Observe que essa correção remove a sincronização com Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride.
  • Corrigido um problema em que um evento extra Unloaded era gerado imediatamente após mostrar um ContentDialog. Para obter mais informações, consulte o problema #8402 do GitHub.
  • Foi corrigido um problema em que um menu da CommandBar podia ser aberto incorretamente, mesmo quando havia espaço para que ele fosse aberto para baixo.
  • Corrigidos alguns problemas em que a entrada em as regiões InputNonClientPointerSource não era tratada corretamente quando a janela principal estava executada no modo da direita para a esquerda.
  • Corrigida a verificação em tempo de compilação para a versão da estrutura do SDK do Windows para lidar com o nome da estrutura ligeiramente diferente usado para o .NET 9.

Versão 1.6

Alterações de projeto do C++

Ao atualizar um projeto C++ para 1.6, você precisará adicionar uma referência de projeto ao Microsoft.Web.WebView2 pacote. Se você atualizar por meio do Gerenciador de Pacotes NuGet no Visual Studio, essa dependência será adicionada para você.

Alterações de projeto em C#

Na versão 1.6, os aplicativos gerenciados que usam o Windows App SDK exigem Microsoft.Windows.SDK.NET.Ref*.*.*.38 ou posterior, que pode ser especificado por meio de WindowsSdkPackageVersion em seu arquivo csproj. Por exemplo:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

Além disso, os aplicativos gerenciados do SDK do Aplicativo Windows devem ser atualizados para Microsoft.Windows.CsWinRT2.1.1 (ou posterior).

Observação

Essas referências manuais não serão mais necessárias quando a próxima atualização de manutenção do SDK do .NET for lançada.

Suporte a AOT nativo

Suporte AOT nativo na versão 1.6

A propriedade do projeto .NET PublishAot agora tem suporte para compilação nativa antecipada. Para obter detalhes sobre o AOT nativo, consulte Implantação do AOT Nativo. Como o AOT se baseia no suporte ao corte, grande parte das seguintes orientações relacionadas ao corte também se aplica ao AOT.

Para obter suporte ao PublishAot e ao corte, além das alterações no projeto C# descritas na seção anterior, você também precisará de uma referência de pacote para Microsoft.Windows.CsWinRT2.1.1 (ou posterior) para habilitar o gerador de origem do pacote até que a próxima atualização de manutenção do .NET SDK seja lançada, quando ela não será mais necessária.

Para obter mais informações, consulte o documento de suporte ao CsWinRT Trimming/AOT e as Notas da versão do CsWinRT 2.1.1.

Como o SDK do Aplicativo Windows invoca destinos de publicação durante a implantação do F5, recomendamos habilitar PublishAot no momento da restauração do NuGet adicionando isso ao arquivo csproj:

<PublishAot>true</PublishAot>
Resolvendo problemas de AOT

Nessa versão, o desenvolvedor é responsável por garantir que todos os tipos estejam corretamente enraizados para evitar o corte (como no caso do alvo {Binding} baseado em reflexão). Versões posteriores aprimorarão o C#/WinRT e o compilador de XAML para automatizar o enraizamento sempre que possível, alertar os desenvolvedores sobre os riscos de corte e fornecer mecanismos para solucioná-los.

Classes parciais

C#/WinRT também inclui suporte a PublishAot na versão 2.1.1. Para habilitar uma classe para publicação AOT com C#/WinRT, ela deve primeiro ser marcada como partial. Isso permite que o analisador de origem AOT do C#/WinRT atribua as classes para análise estática. Somente as classes (que contêm métodos, os destinos de corte) exigem esse atributo.

Erro de código não seguro

O gerador de código-fonte CsWinRT pode gerar código que faça uso de unsafe. Se você encontrar esse erro durante a compilação ou um aviso de diagnóstico para ele (CS0227 para "Código não seguro só pode aparecer se compilar com /unsafe"), defina EnableUnsafeBlocks como true. Para obter mais informações, consulte o problema do GitHub CsWinRT #1721.

WebView2 ainda não compatível com AOT

As projeções do WebView2 na Microsoft.Web.WebView2 versão do pacote 1.0.2651.64 ainda não são compatíveis com AOT. Isso será corrigido em uma versão futura do Microsoft.Web.WebView2 pacote, que você pode referenciar em seu projeto.

Técnicas Sem Reflexão

Para habilitar a compatibilidade AOT, as técnicas baseadas em reflexão devem ser substituídas por serialização tipada estaticamente, AppContext.BaseDirectory, typeof() etc. Para obter detalhes, consulte Introdução aos avisos de corte.

Tipos de Rooting

Até que o suporte completo para {Binding} seja implementado, os tipos podem ser preservados do corte da seguinte maneira:

Dado o projeto P que consome o assembly A com o tipo T no namespace N, que é referenciado apenas dinamicamente (normalmente cortado), T pode ser preservado por meio de:

P.csproj:

<ItemGroup>
    <TrimmerRootDescriptor Include="ILLink.Descriptors.xml" />
</ItemGroup>

ILLink.Descriptors.xml:

<?xml version="1.0" encoding="utf-8"?>
<linker>
    <assembly fullname="A">
        <type fullname="N.T" preserve="all" />
    </assembly>
</linker>

Para obter a sintaxe completa da expressão XML dos descritores raiz, consulte Descritores Raiz.

Observação

Os pacotes de dependência que ainda não adotaram o suporte AOT podem apresentar problemas de tempo de execução.

Controle de versão do WebView2 desacoplado

O SDK do Aplicativo Windows agora consome o SDK do Edge WebView2 como uma referência NuGet em vez de inserir uma versão codificada do SDK do Edge WebView2. O novo modelo permite que os aplicativos escolham uma versão mais recente do Microsoft.Web.WebView2 pacote em vez de se limitarem à versão com a qual o SDK do Aplicativo Windows foi criado. O novo modelo também permite que os aplicativos façam referência a pacotes NuGet que também fazem referência ao SDK do Edge WebView2. Para obter mais informações, consulte o problema #5689 do GitHub.

Novas APIs de implantação de pacote

A API de Gerenciamento de Pacotes recebeu vários aprimoramentos, incluindo Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() e várias correções de bugs. Consulte PackageManagement.md e Pull Request #4453 para obter mais detalhes.

Tear-out da guia TabView aprimorada

Melhoria do corte do TabView na versão 1.6

TabView suporta um novo modo CanTearOutTabs que proporciona uma experiência aprimorada ao arrastar guias e criar uma nova janela. Quando essa nova opção está ativada, arrastar a guia é muito parecido com a experiência de arrastar a guia no Edge e no Chrome, onde uma nova janela é criada imediatamente durante o arrasto, permitindo que o usuário a arraste para a borda da tela para maximizar ou ajustar a janela em um movimento suave. Essa implementação também não usa APIs de arrastar e soltar, portanto, não é afetada por nenhuma limitação nessas APIs. Notavelmente, a remoção de guias é suportada em processos executados com privilégios elevados como Administrador.

Outras alterações notáveis
  • Adicionada uma nova ColorHelper.ToDisplayName() API, preenchendo essa lacuna da UWP.
  • Adicionada uma nova Microsoft.Windows.Globalization.ApplicationLanguages classe, que inclui um novo PrimaryLanguageOverride recurso. Para obter mais informações, consulte o problema #4523 do GitHub.
  • ItemsWrapGrid não selado. Essa deve ser uma alteração compatível com as versões anteriores.
  • PipsPager suporta um novo modo em que pode circular do primeiro ao último item.

Novo modo de encapsulamento do PipsPager na versão 1.6

  • RatingControl agora é mais personalizável, movendo algumas propriedades de estilo codificadas para recursos de tema. Isso permite que os aplicativos substituam esses valores para personalizar melhor a aparência do RatingControl.
Nova personalização do RatingControl na versão 1.6
  • O WinUI 3 mudou para o modelo tipográfico para seleção de fonte em vez do modelo legado de peso/largura/estilo. O modelo tipográfico é necessário para algumas fontes mais recentes, incluindo Segoe UI Variable, e permite recursos de fonte aprimorados. Algumas fontes mais antigas que dependem do modelo de peso/expansão/estilo para seleção podem não ser encontradas com o modelo tipográfico.
Problemas conhecidos
  • Se o depurador estiver configurado para interromper todas as exceções do C++, ele interromperá algumas exceções ruidosas na inicialização do código BCP47 (Globalização do Windows). Para obter mais informações, consulte o problema #4691 do GitHub.
  • Os pacotes de biblioteca de componentes que fazem referência ao pacote do SDK do Aplicativo windows 1.6 não obterão corretamente o conteúdo do pacote WebView2 referenciado. Para obter mais informações, consulte WebView2Feedback #4743. Uma solução alternativa é adicionar uma referência direta ao Microsoft.Web.WebView2 pacote quando necessário.
  • Às vezes, os aplicativos compilados com o Native AOT podem apresentar um problema de suspensão após a navegação na página devido a uma condição de corrida no thread GC do tempo de execução do .NET. Para obter mais informações, consulte .NET issue #104582.
  • A versão inicial da versão 1.6.0 introduziu um problema com uma de nossas dependências que esperamos que seja resolvido em uma versão futura do SDK do .NET. Se você tiver um erro com a versão de sua referência de Microsoft.Windows.SDK.NET, precisará referenciar explicitamente a versão do SDK do .NET especificada pela sua mensagem de erro. Por exemplo, se o erro disser que você precisa da versão 10.0.19041.38, adicione o seguinte ao seu .csproj arquivo:
    • <WindowsSdkPackageVersion>10.0.19041.38</WindowsSdkPackageVersion>.
Correções
  • Corrigida uma falha ao definir InfoBar.IsOpen em .xaml. Para obter mais informações, consulte o problema #8391 do GitHub.
  • Corrigido um problema em que os elementos HTML perdiam a captura do ponteiro quando o mouse se movia para fora dos WebView2 limites. Para obter mais informações, consulte o problema #8677 do GitHub.
  • Corrigido um problema em que arrastar e soltar em um submenu com ShouldConstrainToRootBounds=false não funcionava. Para obter mais informações, consulte o problema #9276 do GitHub.
  • Corrigido um problema em que ms-appx:// referências não funcionavam quando PublishSingleFile estava ativado. Para obter mais informações, consulte o problema #9468 do GitHub.
  • Corrigido um problema em que os símbolos do depurador não estavam funcionando corretamente para alguns binários. Para obter mais informações, consulte o problema #4633 do GitHub.
  • Corrigido uma possível falha ao subclassificar NavigationView.
  • Corrigido um problema em que as bordas da tabela em um RichEditBox não eram apagadas corretamente ao rolar ou reduzir o tamanho da tabela.
  • Foi corrigido um problema em que o submenu de MediaTransportControls tinham um fundo totalmente transparente.
  • Foi corrigido um problema em que o arrastar em um WebView2 falhava ou caía no local errado em fatores de escala de exibição diferentes de 100% ou quando a escala de texto do sistema estava habilitada.
  • Corrigido um problema em que TextBox/RichEditBox não anunciava às ferramentas de acessibilidade quando a entrada era bloqueada devido ao limite MaxLength.
  • Corrigidos alguns problemas relacionados ao manuseio de cenários personalizados da barra de título. Para obter mais informações, consulte os problemas do GitHub #7629, #9670, #9709 e #8431.
  • Corrigido um problema em que InfoBadge o ícone não estava visível. Para obter mais informações, consulte o problema #8176 do GitHub.
  • Corrigido um problema com ícones às vezes exibidos na posição errada em CommandBarFlyout. Para obter mais informações, confira o issue n.º 9409 do GitHub.
  • Corrigido um problema com o foco do teclado nos menus ao abrir ou fechar um submenu. Para obter mais informações, consulte o problema #9519 do GitHub.
  • Corrigido um problema com TreeView ao usar o estado incorreto de IsExpanded ao reciclar itens. Para obter mais informações, consulte o problema #9549 do GitHub.
  • Corrigido um problema ao usar uma vinculação ElementName em um ItemsRepeater.ItemTemplate. Para obter mais informações, consulte o problema #9715 do GitHub.
  • Corrigido um problema em que, às vezes, o primeiro item em um ItemsRepeater tinha uma posição incorreta. Para obter mais informações, consulte o problema #9743 do GitHub.
  • Corrigido um problema com InputNonClientPointerSource às vezes interrompendo a entrada nos botões min/max/close. Para obter mais informações, consulte o problema #9749 do GitHub.
  • Corrigido um erro de compilação ao usar Microsoft.UI.Interop.h com clang-cl. Para obter mais informações, consulte o problema #9771 do GitHub.
  • Corrigido um problema em que o evento CharacterReceived não funcionava no ComboBox/TextBox. Para obter mais informações, consulte o problema #9786 do GitHub.
  • Corrigido um problema em que eventos duplicados KeyUp eram gerados para teclas de seta e tab. Para obter mais informações, consulte o problema #9399 do GitHub.
  • Corrigido um problema em que o PowerManager.SystemSuspendStatusChanged evento era inutilizável para obter o SystemSuspendStatus. Para obter mais informações, consulte o problema #2833 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era dado corretamente a um WebView2 quando esse era o único controle na janela.
  • Corrigido um problema ao usar ExtendsContentIntoTitleBar=true em que os botões Mín/Máx/Fechar não apareciam corretamente na Automação da Interface do Usuário, o que impedia o Acesso por Voz de mostrar números para esses botões.
  • Foi corrigido um problema em que um aplicativo poderia travar em uma verificação de bloqueio devido a uma reentrada inesperada.
  • Corrigido um problema em que Hyperlink as cores não eram atualizadas corretamente ao alternar para um tema de alto contraste.
  • Corrigido um problema em que alterar a coleção de um ListView em uma janela de segundo plano poderia mover incorretamente essa janela para o primeiro plano e tomar o foco.
  • Corrigido um problema em que chamar ItemsRepeater.StartBringIntoView às vezes fazia com que os itens desaparecessem.
  • Corrigido um problema em que tocar e arrastar em um Button em um ScrollViewer o deixava em um estado pressionado.
  • Atualização do IntelliSense, que estava faltando informações para muitos tipos e membros mais recentes.
  • Corrigido um problema em que clicar em uma área vazia de um ScrollViewer sempre movia o foco para o primeiro controle focalizável no ScrollViewer e rolava esse controle para exibição. Para obter mais informações, consulte o problema #597 do GitHub.
  • Corrigido um problema em que às vezes o evento Window.Activated disparava várias vezes. Para obter mais informações, consulte o problema #7343 do GitHub.
  • Corrigido um problema em que ao definir a propriedade NavigationViewItem.IsSelected para true, impedia que seus filhos fossem exibidos quando expandidos. Para obter mais informações, consulte o problema #7930 do GitHub.
  • Corrigido um problema em que MediaPlayerElement não exibia corretamente legendas com None ou DropShadow efeitos de borda. Para obter mais informações, consulte o problema #7981 do GitHub.
  • Corrigido um problema em que a propriedade Flyout.ShowMode não era usada ao mostrar o submenu. Para obter mais informações, consulte o problema #7987 do GitHub.
  • Corrigido um problema em que NumberBox às vezes apresentava erros de arredondamento. Para obter mais informações, consulte o problema #8780 do GitHub.
  • Correção de um problema em que usar uma biblioteca compilada contra uma versão mais antiga do SDK do Aplicativo do Windows poderia resultar em um erro ao buscar um tipo ou propriedade. Para obter mais informações, consulte o problema #8810 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era definido ao iniciar uma janela. Para obter mais informações, consulte o problema #8816 do GitHub.
  • Corrigido um problema em que FlyoutShowMode.TransientWithDismissOnPointerMoveAway não funcionava após a primeira vez que era mostrado. Para obter mais informações, consulte o problema #8896 do GitHub.
  • Corrigido um problema em que alguns controles não associavam corretamente as propriedades de modelo Foreground e Background. Para obter mais informações, consulte os problemas #7070, #9020, #9029, #9083 e #9102 do GitHub.
  • Corrigido um problema no qual os ThemeResources usados nos setters VisualStateManager não eram atualizados com a mudança de tema. Isso geralmente afetava os controles em submenus. Para obter mais informações, consulte o problema #9198 do GitHub.
  • Corrigido um problema em que WebView perdia o foco principal, resultando em eventos adicionais de desfoque/foco e outros problemas. Para obter mais informações, consulte o problema #9288 do GitHub.
  • Corrigido um problema em que NavigationView poderia mostrar um erro de associação na saída de depuração. Para obter mais informações, consulte o problema #9384 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 que alterar ItemsView.Layout a orientação fazia com que um item fosse removido. Para obter mais informações, consulte o problema #9422 do GitHub.
  • Corrigido um problema em que rolar ScrollView gerava muita saída de depuração. Para obter mais informações, consulte o problema #9434 do GitHub.
  • Corrigido um problema em que MapContorl.InteractiveControlsVisible não funcionava corretamente. Para obter mais informações, consulte o problema #9486 do GitHub.
  • Corrigido um problema em que o evento MapControl.MapElementClick não era acionado corretamente. Para obter mais informações, consulte o problema #9487 do GitHub.
  • Corrigido um problema em que x:Bind não 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 a alteração da TeachingTip.Target propriedade não atualizava corretamente sua posição. Para obter mais informações, consulte o problema #9553 do GitHub.
  • Corrigido um problema em que as listas suspensas não funcionavam no WebView2. Para obter mais informações, consulte o problema #9566 do GitHub.
  • Corrigido um vazamento de memória ao usar GeometryGroup. Para obter mais informações, consulte o problema #9578 do GitHub.
  • Corrigido um problema em que rolar por um número muito grande de itens de um ItemRepeater em um ScrollView poderia causar quadros de renderização vazios. Para obter mais informações, consulte o problema #9643 do GitHub.
  • Corrigido um problema em que SceneVisual não estava funcionando.
Novas APIs

A versão 1.6.0 inclui as seguintes novas APIs em comparação com a versão estável 1.5:

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
Microsoft.UI.Xaml.Automation.Peers

    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus
Microsoft.Windows.Storage

    ApplicationData
    ApplicationDataContainer
    ApplicationDataContract
    ApplicationDataCreateDisposition
    ApplicationDataLocality

Versão 1.6 Versão Prévia 2 (1.6.0-preview2)

Esta é a versão mais recente do canal de visualização para a versão 1.6.

Em um aplicativo existente do SDK do Aplicativo do Windows 1.5 (do canal estável), você pode atualizar seu pacote Nuget para 1.6.0-preview2 (consulte 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.

Suporte a AOT nativo

A versão 1.6-preview2 inclui alterações significativas para atualizar para a versão 2.1.1.1 do Microsoft.Windows.CsWinRT lançada e tornar a criação mais confiável para compilação nativa do Ahead-Of-Time.

Integração atualizada do SDK do Edge WebView2

Esta versão agora referencia a versão 1.0.2651.64 do pacote, que foi lançada, e deve corrigir problemas encontrados com a versão de pré-lançamento referenciada em 1.6-preview1. Conforme observado na versão 1.6-preview1, os aplicativos agora podem escolher uma versão mais recente do Microsoft.Web.WebView2 pacote, se desejado.

Correções

1.6-preview2 contém as seguintes novas correções desde a versão 1.6-preview1:

  • Corrigida uma falha ao definir InfoBar.IsOpen em .xaml. Para obter mais informações, consulte o problema #8391 do GitHub.
  • Corrigido um problema em que os elementos HTML perdiam a captura do ponteiro quando o mouse se movia para fora dos WebView2 limites. Para obter mais informações, consulte o problema #8677 do GitHub.
  • Corrigido um problema em que arrastar e soltar em um submenu com ShouldConstrainToRootBounds=false não funcionava. Para obter mais informações, consulte o problema #9276 do GitHub.
  • Corrigido um problema em que ms-appx:// referências não funcionavam quando PublishSingleFile estava ativado. Para obter mais informações, consulte o problema #9468 do GitHub.
  • Corrigido um problema em que os símbolos do depurador não estavam funcionando corretamente para alguns binários. Para obter mais informações, consulte o problema #4633 do GitHub.
  • Corrigida uma quebra de build ao usar /permissive-. Para obter mais informações, consulte o problema do GitHub nº 4643.
  • Correção de algumas alterações de incompatibilidade da API na versão 1.6-preview1 causadas por parâmetros renomeados. Para obter mais informações, consulte o problema do GitHub nº 4645.
  • Correção das falhas de compilação causadas por conflitos de tipo em alguns projetos na versão 1.6-preview1, especialmente com os tipos Windows.UI.Text. Para obter mais informações, consulte o problema do GitHub nº 4646.
  • Correção de um problema com pesquisas de recursos por bibliotecas de controle na versão 1.6-preview1. Para obter mais informações, consulte o problema do GitHub nº 4649.
  • Corrigido uma possível falha ao subclassificar NavigationView.
  • Corrigido um problema em que as bordas da tabela em um RichEditBox não eram apagadas corretamente ao rolar ou reduzir o tamanho da tabela.
  • Foi corrigido um problema em que o submenu de MediaTransportControls tinham um fundo totalmente transparente.
  • Foi corrigido um problema em que o arrastar em um WebView2 falhava ou caía no local errado em fatores de escala de exibição diferentes de 100% ou quando a escala de texto do sistema estava habilitada.
  • Corrigido um problema em que TextBox/RichEditBox não anunciava às ferramentas de acessibilidade quando a entrada era bloqueada devido ao limite MaxLength.

Versão 1.6 Versão Prévia 1 (1.6.0-preview1)

Observação

O novo controle TitleBar lançado na versão 1.6-experimental1 ainda não está disponível em builds não experimentais de 1.6 para permitir mais tempo para avaliar e responder aos comentários da comunidade. Recebemos muitas ótimas contribuições aqui e queremos ter certeza de que dedicaremos o tempo necessário para abordá-las.

Alterações de projeto em C# necessárias para 1.6-preview1

Na versão 1.6-preview1, os aplicativos gerenciados do Windows App SDK exigem Microsoft.Windows.SDK.NET.Ref*.*.*.38, que pode ser especificado por meio de WindowsSdkPackageVersion em seu arquivo csproj. Por exemplo:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

Além disso, os aplicativos gerenciados do SDK do Aplicativo Windows devem ser atualizados para Microsoft.Windows.CsWinRT2.1.1 (ou posterior).

Suporte a AOT nativo

A propriedade do projeto .NET PublishAot agora tem suporte para compilação nativa antecipada. Para obter detalhes sobre o AOT nativo, consulte Implantação do AOT Nativo. Como o AOT se baseia no suporte ao Trimming, grande parte das diretrizes relacionadas ao Trimming descritas anteriormente na versão 1.6-experimental1 também se aplica. Consulte o suporte AOT nativo para obter mais informações.

Conforme observado acima, os projetos em C# devem ter uma referência de pacote para Microsoft.Windows.CsWinRT 2.1.1 (ou posterior). Esta versão inclui uma implementação segura ICustomPropertyProvider de AOT. Os tipos usados com esse suporte devem ser marcados com o atributo WinRT.GeneratedBindableCustomProperty junto a serem partial.

Integração do SDK do Edge WebView2 alterada

O SDK do Aplicativo Windows agora consome o SDK do Edge WebView2 como uma referência NuGet em vez de inserir uma versão codificada do SDK do Edge WebView2. O novo modelo permite que os aplicativos escolham uma versão mais recente do Microsoft.Web.WebView2 pacote em vez de se limitarem à versão com a qual o SDK do Aplicativo Windows foi criado. O novo modelo também permite que os aplicativos façam referência a pacotes NuGet que também fazem referência ao SDK do Edge WebView2. Para obter mais informações, consulte o problema #5689 do GitHub.

Novas APIs de implantação de pacote

A API de Gerenciamento de Pacotes recebeu vários aprimoramentos, incluindo Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() e várias correções de bugs. Consulte PackageManagement.md e Pull Request #4453 para obter mais detalhes.

Tear-out da guia TabView aprimorada

TabView suporta um novo modo CanTearOutTabs que proporciona uma experiência aprimorada ao arrastar guias e criar uma nova janela. Quando essa nova opção está ativada, arrastar a guia é muito parecido com a experiência de arrastar a guia no Edge e no Chrome, onde uma nova janela é criada imediatamente durante o arrasto, permitindo que o usuário a arraste para a borda da tela para maximizar ou ajustar a janela em um movimento suave. Essa implementação também não usa APIs de arrastar e soltar, portanto, não é afetada por nenhuma limitação nessas APIs. Notavelmente, a remoção de guias é suportada em processos executados com privilégios elevados como Administrador.

Outras alterações notáveis
  • Adicionamos uma nova ColorHelper.ToDisplayName() API, preenchendo essa lacuna da UWP.
  • Adicionada uma nova Microsoft.Windows.Globalization.ApplicationLanguages classe, que inclui um novo PrimaryLanguageOverride recurso. Para obter mais informações, consulte o problema #4523 do GitHub.
  • ItemsWrapGrid não selado. Essa deve ser uma alteração compatível com as versões anteriores.
  • PipsPager dá suporte a um novo modo em que ele pode encapsular entre o primeiro e os itens de lista.
  • RatingControl agora é mais personalizável, movendo algumas propriedades de estilo codificadas para recursos de tema. Isso permite que os aplicativos substituam esses valores para personalizar melhor a aparência do RatingControl.
Problemas conhecidos
  • Se o depurador estiver definido para interromper em todas as exceções C++, ele interromperá em duas exceções barulhentas durante a inicialização no código BCP47 (Windows Globalization).
Correções
  • Corrigidos alguns problemas relacionados ao manuseio de cenários personalizados da barra de título. Para obter mais informações, consulte os problemas do GitHub #7629, #9670, #9709 e #8431.
  • Corrigido um problema em que InfoBadge o ícone não estava visível. Para obter mais informações, consulte o problema #8176 do GitHub.
  • Corrigido um problema com ícones às vezes exibidos na posição errada em CommandBarFlyout. Para obter mais informações, confira o issue n.º 9409 do GitHub.
  • Corrigido um problema com o foco do teclado nos menus ao abrir ou fechar um submenu. Para obter mais informações, consulte o problema #9519 do GitHub.
  • Corrigido um problema com TreeView ao usar o estado incorreto de IsExpanded ao reciclar itens. Para obter mais informações, consulte o problema #9549 do GitHub.
  • Corrigido um problema ao usar uma vinculação ElementName em um ItemsRepeater.ItemTemplate. Para obter mais informações, consulte o problema #9715 do GitHub.
  • Corrigido um problema em que, às vezes, o primeiro item em um ItemsRepeater tinha uma posição incorreta. Para obter mais informações, consulte o problema #9743 do GitHub.
  • Corrigido um problema com InputNonClientPointerSource às vezes interrompendo a entrada nos botões min/max/close. Para obter mais informações, consulte o problema #9749 do GitHub.
  • Corrigido um erro de compilação ao usar Microsoft.UI.Interop.h com clang-cl. Para obter mais informações, consulte o problema #9771 do GitHub.
  • Corrigido um problema em que o evento CharacterReceived não funcionava no ComboBox/TextBox. Para obter mais informações, consulte o problema #9786 do GitHub.
  • Corrigido o problema nos builds experimentais da versão 1.6 em que o comportamento de entrada do ponteiro CanTearOutTabs estava incorreto em monitores com fator de escala diferente de 100%. Para obter mais informações, consulte o problema do GitHub nº 9791.
  • Corrigido o problema na compilação 1.6-experimental2 em que algumas traduções de idioma apresentavam problemas de codificação de caracteres no ColorHelper.ToDisplayName().
  • Corrigido um problema da versão 1.6-experimental1 em que NumberBox não estava usando as cores frontais e de fundo corretas. Para obter mais informações, consulte o problema do GitHub nº 9714.
  • Corrigido um problema em que eventos duplicados KeyUp eram gerados para teclas de seta e tab. Para obter mais informações, consulte o problema #9399 do GitHub.
  • Corrigido um problema em que o PowerManager.SystemSuspendStatusChanged evento era inutilizável para obter o SystemSuspendStatus. Para obter mais informações, consulte o problema #2833 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era dado corretamente a um WebView2 quando esse era o único controle na janela.
  • Corrigido um problema ao usar ExtendsContentIntoTitleBar=true em que os botões Mín/Máx/Fechar não apareciam corretamente na Automação da Interface do Usuário, o que impedia o Acesso por Voz de mostrar números para esses botões.
  • Foi corrigido um problema em que um aplicativo poderia travar em uma verificação de bloqueio devido a uma reentrada inesperada.
  • Corrigido um problema em que Hyperlink as cores não eram atualizadas corretamente ao alternar para um tema de alto contraste.
  • Corrigido um problema em que alterar a coleção de um ListView em uma janela de segundo plano poderia mover incorretamente essa janela para o primeiro plano e tomar o foco.
  • Corrigido um problema na versão 1.6-experimental1 em que a configuração de AcrylicBrush.TintLuminosityOpacity em .xaml em um projeto de biblioteca de classes travava com um erro de conversão de tipo.
  • Corrigido um problema em que chamar ItemsRepeater.StartBringIntoView às vezes fazia com que os itens desaparecessem.
  • Corrigido um problema em que tocar e arrastar em um Button em um ScrollViewer o deixava em um estado pressionado.
  • Atualização do IntelliSense, que estava faltando informações para muitos tipos e membros mais recentes.
  • Corrigido um problema em que clicar em uma área vazia de um ScrollViewer sempre movia o foco para o primeiro controle focalizável no ScrollViewer e rolava esse controle para exibição. Para obter mais informações, consulte o problema #597 do GitHub.
  • Corrigido um problema em que às vezes o evento Window.Activated disparava várias vezes. Para obter mais informações, consulte o problema #7343 do GitHub.
  • Corrigido um problema em que ao definir a propriedade NavigationViewItem.IsSelected para true, impedia que seus filhos fossem exibidos quando expandidos. Para obter mais informações, consulte o problema #7930 do GitHub.
  • Corrigido um problema em que MediaPlayerElement não exibia corretamente legendas com None ou DropShadow efeitos de borda. Para obter mais informações, consulte o problema #7981 do GitHub.
  • Corrigido um problema em que a propriedade Flyout.ShowMode não era usada ao mostrar o submenu. Para obter mais informações, consulte o problema #7987 do GitHub.
  • Corrigido um problema em que NumberBox às vezes apresentava erros de arredondamento. Para obter mais informações, consulte o problema #8780 do GitHub.
  • Correção de um problema em que usar uma biblioteca compilada contra uma versão mais antiga do SDK do Aplicativo do Windows poderia resultar em um erro ao buscar um tipo ou propriedade. Para obter mais informações, consulte o problema #8810 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era definido ao iniciar uma janela. Para obter mais informações, consulte o problema #8816 do GitHub.
  • Corrigido um problema em que FlyoutShowMode.TransientWithDismissOnPointerMoveAway não funcionava após a primeira vez que era mostrado. Para obter mais informações, consulte o problema #8896 do GitHub.
  • Corrigido um problema em que alguns controles não associavam corretamente as propriedades de modelo Foreground e Background. Para obter mais informações, consulte os problemas #7070, #9020, #9029, #9083 e #9102 do GitHub.
  • Corrigido um problema no qual os ThemeResources usados nos setters VisualStateManager não eram atualizados com a mudança de tema. Isso geralmente afetava os controles em submenus. Para obter mais informações, consulte o problema #9198 do GitHub.
  • Corrigido um problema em que WebView perdia o foco principal, resultando em eventos adicionais de desfoque/foco e outros problemas. Para obter mais informações, consulte o problema #9288 do GitHub.
  • Corrigido um problema em que NavigationView poderia mostrar um erro de associação na saída de depuração. Para obter mais informações, consulte o problema #9384 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 que alterar ItemsView.Layout a orientação fazia com que um item fosse removido. Para obter mais informações, consulte o problema #9422 do GitHub.
  • Corrigido um problema em que rolar ScrollView gerava muita saída de depuração. Para obter mais informações, consulte o problema #9434 do GitHub.
  • Corrigido um problema em que MapContorl.InteractiveControlsVisible não funcionava corretamente. Para obter mais informações, consulte o problema #9486 do GitHub.
  • Corrigido um problema em que o evento MapControl.MapElementClick não era acionado corretamente. Para obter mais informações, consulte o problema #9487 do GitHub.
  • Corrigido um problema em que x:Bind não 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 a alteração da TeachingTip.Target propriedade não atualizava corretamente sua posição. Para obter mais informações, consulte o problema #9553 do GitHub.
  • Corrigido um problema em que as listas suspensas não funcionavam no WebView2. Para obter mais informações, consulte o problema #9566 do GitHub.
  • Corrigido um vazamento de memória ao usar GeometryGroup. Para obter mais informações, consulte o problema #9578 do GitHub.
  • Corrigido um problema em que rolar por um número muito grande de itens de um ItemRepeater em um ScrollView poderia causar quadros de renderização vazios. Para obter mais informações, consulte o problema #9643 do GitHub.
  • Corrigido um problema em que SceneVisual não estava funcionando.
Novas APIs na versão 1.6.0-preview1

A versão 1.6-preview1 inclui as seguintes novas APIs em comparação com a versão estável 1.5:

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
Microsoft.UI.Xaml.Automation.Peers

    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus
Microsoft.Windows.Storage

    ApplicationData
    ApplicationDataContainer
    ApplicationDataContract
    ApplicationDataCreateDisposition
    ApplicationDataLocality

Versão 1.6 Experimental (1.6.0-experimental2)

Observação

As APIs Phi Silica e OCR não estão incluídas nesta versão. Eles virão em uma versão futura 1.6.

Atualizações de suporte do AOT nativo

No 1.6-experimental1, o compilador XAML estava gerando XamlTypeInfo.g.cs com código que não era seguro para AOT/Trimming. Isso está relacionado ao problema #9675 do GitHub, embora não corrija totalmente esse problema.

Integração do SDK do Edge WebView2 alterada

O SDK do Aplicativo Windows agora consome o SDK do Edge WebView2 como uma referência NuGet em vez de inserir uma versão codificada do SDK do Edge WebView2. O novo modelo permite que os aplicativos escolham uma versão mais recente do Microsoft.Web.WebView2 pacote em vez de se limitarem à versão com a qual o SDK do Aplicativo Windows foi criado. O novo modelo também permite que os aplicativos façam referência a pacotes NuGet que também fazem referência ao SDK do Edge WebView2. Para obter mais informações, consulte o problema #5689 do GitHub.

Novas APIs de implantação de pacote

A API de Gerenciamento de Pacotes recebeu vários aprimoramentos, incluindo Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() e várias correções de bugs. Consulte PackageManagement.md e Pull Request #4453 para obter mais detalhes.

Outras alterações notáveis
  • A partir da versão 1.6-experimental2, a fonte mais recente do WinUI 3 agora será publicada no branch principal no repositório GitHub microsoft-ui-xaml, o que permitirá a pesquisa de origem nesse repositório.
  • Adicionamos uma nova ColorHelper.ToDisplayName() API, preenchendo essa lacuna da UWP.
    • Problema conhecido: algumas traduções de idiomas têm problemas de codificação de caracteres. Isso será corrigido na próxima versão 1.6.
  • Adicionada uma nova Microsoft.Windows.Globalization.ApplicationLanguages classe, que inclui um novo PrimaryLanguageOverride recurso. Para obter mais informações, consulte o problema #4523 do GitHub.
  • Novas extensões permitem que os provedores de widgets forneçam aos widgets conteúdo da web e anúncios para widgets.
Novas APIs para 1.6-experimental2

1.6-experimental2 inclui as novas APIs a seguir. Essas APIs não são experimentais, mas ainda não estão incluídas em uma versão de versão estável do SDK do Aplicativo do Windows.

Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus
APIs adicionais 1.6-experimental2

Esta versão inclui as seguintes APIs experimentais novas e modificadas:

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Composition

    CompositionNotificationDeferral
Microsoft.UI.Composition.Experimental

    ExpCompositionVisualSurface
    ExpExpressionNotificationProperty
    IExpCompositionPropertyChanged
    IExpCompositionPropertyChangedListener
    IExpCompositor
    IExpVisual
Microsoft.UI.Content

    AutomationOptions
    ChildContentLink
    ContentAppWindowBridge
    ContentDisplayOrientations
    ContentExternalBackdropLink
    ContentExternalOutputLink
    ContentIsland
        Children
        Compositor
        Connected
        ConnectionInfo
        ConnectRemoteEndpoint
        Create
        Disconnected
        FindAllForCompositor
        FragmentRootAutomationProvider
        GetByVisual
        IsRemoteEndpointConnected
        NextSiblingAutomationProvider
        Offset
        ParentAutomationProvider
        PreviousSiblingAutomationProvider
        Root
        RotationAngleInDegrees

    ContentIslandEnvironment
        AutomationOption
        CurrentOrientation
        DisplayScale
        NativeOrientation
        ThemeChanged

    ContentSite
        Compositor
        Offset
        RotationAngleInDegrees
        SetContentNodeParent
        SetIsInputPassThrough
        SiteVisual
        TryGetAutomationProvider

    ContentSiteAutomationProviderRequestedEventArgs
    ContentSiteEnvironment
        CurrentOrientation
        DisplayScale
        NativeOrientation
        NotifyThemeChanged

    ContentSiteView
        Offset
        RotationAngleInDegrees

    CoreWindowSiteBridge
    CoreWindowTopLevelWindowBridge
    DesktopChildSiteBridge
        AcceptRemoteEndpoint
        ConnectionInfo
        IsRemoteEndpointConnected
        RemoteEndpointConnecting
        RemoteEndpointDisconnected
        RemoteEndpointRequestedStateChanged

    DesktopSiteBridge
        TryCreatePopupSiteBridge

    EndpointConnectionEventArgs
    EndpointRequestedStateChangedEventArgs
    IContentIslandEndpointConnectionPrivate
    IContentLink
    IContentNodeOwner
    IContentSiteBridge2
    IContentSiteBridgeAutomation
    IContentSiteBridgeEndpointConnectionPrivate
    PopupWindowSiteBridge
    ProcessStarter
    ReadOnlyDesktopSiteBridge
    SystemVisualSiteBridge
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputKeyboardSource
        GetForWindowId

    InputLayoutPolicy
    InputLightDismissAction
        GetForIsland

    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    InputPointerActivationBehavior
    InputPointerSource
        ActivationBehavior
        DirectManipulationHitTest
        GetForVisual
        GetForWindowId
        RemoveForVisual
        TouchHitTesting
        TrySetDeviceKinds

    MoveSizeOperation
    ProximityEvaluation
    TouchHitTestingEventArgs
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Input.Experimental

    ExpInputSite
    ExpPointerPoint
Microsoft.UI.Windowing

    AppWindow
        DefaultTitleBarShouldMatchAppModeTheme

    DisplayArea
        GetMetricsFromWindowId
Microsoft.UI.Xaml

    XamlIsland
    XamlRoot
        CoordinateConverter
        TryGetContentIsland
Microsoft.UI.Xaml.Automation.Peers

    PagerControlAutomationPeer
    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    ContentDialogPlacement
        UnconstrainedPopup

    ElementFactory
    FlowLayout
    FlowLayoutAnchorInfo
    FlowLayoutLineAlignment
    FlowLayoutState
    IApplicationViewSpanningRects
    IndexPath
    ISelfPlayingAnimatedVisual
    ItemContainer
        CanUserInvoke
        CanUserInvokeProperty
        CanUserSelect
        CanUserSelectProperty
        ItemInvoked
        MultiSelectMode
        MultiSelectModeProperty

    ItemContainerInteractionTrigger
    ItemContainerInvokedEventArgs
    ItemContainerMultiSelectMode
    ItemContainerUserInvokeMode
    ItemContainerUserSelectMode
    LayoutPanel
    NumberBox
        InputScope
        InputScopeProperty
        TextAlignment
        TextAlignmentProperty

    PagerControl
    PagerControlButtonVisibility
    PagerControlDisplayMode
    PagerControlSelectedIndexChangedEventArgs
    PagerControlTemplateSettings
    ProgressRing
        DeterminateSource
        DeterminateSourceProperty
        IndeterminateSource
        IndeterminateSourceProperty

    RecyclePool
    RecyclingElementFactory
    ScrollingViewChangingEventArgs
    ScrollView
        ViewChanging

    SelectionModel
    SelectionModelChildrenRequestedEventArgs
    SelectionModelSelectionChangedEventArgs
    SelectTemplateEventArgs
    StackLayout
        IsVirtualizationEnabled
        IsVirtualizationEnabledProperty

    StackLayoutState
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
    TitleBar
    TitleBarAutomationPeer
    TitleBarTemplateSettings
    UniformGridLayoutState
Microsoft.UI.Xaml.Controls.Primitives

    ScrollPresenter
        ViewChanging
Microsoft.Windows.ApplicationModel.WindowsAppRuntime

    DeploymentManager
        Repair

    DeploymentStatus
        PackageRepairFailed

    ReleaseInfo
    RuntimeInfo
    VersionInfoContract
Microsoft.Windows.Widgets.Feeds.Providers

    FeedManager
        TryRemoveAnnouncementById

    IFeedManager3
Microsoft.Windows.Widgets.Notifications

    WidgetAnnouncement
    WidgetAnnouncementInvokedArgs
Microsoft.Windows.Widgets.Providers

    IWidgetAnnouncementInvokedTarget
    IWidgetManager2
    IWidgetManager3
    IWidgetProviderMessage
    IWidgetResourceProvider
    WidgetManager
        SendMessageToContent
        TryRemoveAnnouncementById
        TryShowAnnouncement

    WidgetMessageReceivedArgs
    WidgetResourceRequest
    WidgetResourceRequestedArgs
    WidgetResourceResponse
Problemas conhecidos
  • Para a desativação da guia TabView, o comportamento de entrada do ponteiro para CanTearOutTabs está incorreto em monitores com fator de escala diferente de 100%. Isso será corrigido na próxima versão 1.6.
Correções
  • Corrigido um problema da versão 1.6-experimental1 em que NumberBox não estava usando as cores frontais e de fundo corretas. Para obter mais informações, consulte o problema do GitHub nº 9714.
  • Corrigido um problema em que eventos duplicados KeyUp eram gerados para teclas de seta e tab. Para obter mais informações, consulte o problema #9399 do GitHub.
  • Corrigido um problema em que o PowerManager.SystemSuspendStatusChanged evento era inutilizável para obter o SystemSuspendStatus. Para obter mais informações, consulte o problema #2833 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era dado corretamente a um WebView2 quando esse era o único controle na janela.
  • Corrigido um problema ao usar ExtendsContentIntoTitleBar=true em que os botões Mín/Máx/Fechar não apareciam corretamente na Automação da Interface do Usuário, o que impedia o Acesso por Voz de mostrar números para esses botões.
  • Foi corrigido um problema em que um aplicativo poderia travar em uma verificação de bloqueio devido a uma reentrada inesperada.
  • Corrigido um problema da versão 1.6-experimental1 em que TitleBar mostrava apenas o ícone e o título porque alguns elementos não apareciam no carregamento.
  • Corrigido um problema em que Hyperlink as cores não eram atualizadas corretamente ao alternar para um tema de alto contraste.
  • Corrigido um problema em que alterar a coleção de um ListView em uma janela de segundo plano poderia mover incorretamente essa janela para o primeiro plano e tomar o foco.
  • Corrigido um problema na versão 1.6-experimental1 em que a configuração de AcrylicBrush.TintLuminosityOpacity em .xaml em um projeto de biblioteca de classes travava com um erro de conversão de tipo.
  • Corrigido um problema em que chamar ItemsRepeater.StartBringIntoView às vezes fazia com que os itens desaparecessem.
  • Corrigido um problema em que tocar e arrastar em um Button em um ScrollViewer o deixava em um estado pressionado.
  • Atualização do IntelliSense, que estava faltando informações para muitos tipos e membros mais recentes.

Versão 1.6 Experimental (1.6.0-experimental1)

Esta é a versão mais recente do canal experimental.

Para baixar, redirecione sua versão do NuGet do SDK do Aplicativo Windows para 1.6.240531000-experimental1.

Alterações de projeto em C# necessárias para 1.6-experimental1

Na versão 1.6-experimental1, SDK do Aplicativo Windows aplicativos gerenciados exigem Microsoft.Windows.SDK.NET.Ref*.*.*.35-preview (ou posterior), que pode ser especificado por meio de WindowsSdkPackageVersion em seu csproj arquivo. Por exemplo:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.35-preview</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

Além disso, SDK do Aplicativo Windows aplicativos gerenciados usando C#/WinRT devem ser atualizados para Microsoft.Windows.CsWinRT2.1.0-prerelease.240602.1 (ou posterior).

Suporte a AOT nativo

Observação

Para SDK do Aplicativo Windows 1.6.0 estável, as diretrizes a seguir estão obsoletas. Em vez disso, os projetos devem simplesmente ser definidos PublishAot como true incondicionalmente.

A propriedade do projeto .NET PublishAot agora tem suporte para compilação nativa antecipada. Para obter detalhes, consulte Implantação AOT nativa. Como o AOT se baseia no suporte ao corte, grande parte das seguintes orientações relacionadas ao corte também se aplica ao AOT.

Para PublishAot obter suporte, além das alterações do projeto C# descritas na seção anterior, você também precisará de uma referência de pacote para Microsoft.Windows.CsWinRT2.1.0-prerelease.240602.1 (ou posterior) para habilitar o gerador de origem desse pacote.

Como o SDK do Aplicativo Windows invoca destinos de publicação durante a implantação do F5, recomendamos habilitar PublishAot no momento da restauração do NuGet adicionando isso ao arquivo csproj:

<PublishAot Condition="'$(ExcludeRestorePackageImports)'=='true'">true</PublishAot>

Além disso, recomendamos habilitar PublishAot condicionalmente ao publicar configurações de versão, seja em perfis de publicação ou no projeto:

<PublishAot Condition="'$(Configuration)'=='Release'">true</PublishAot>

Resolução de problemas de AOT

Nessa versão, o desenvolvedor é responsável por garantir que todos os tipos estejam corretamente enraizados para evitar o corte (como no caso do alvo {Binding} baseado em reflexão). Versões posteriores aprimorarão o C#/WinRT e o compilador de XAML para automatizar o enraizamento sempre que possível, alertar os desenvolvedores sobre os riscos de corte e fornecer mecanismos para solucioná-los.

Classes parciais

O C#/WinRT também inclui PublishAot suporte na versão 2.1.0-prerelease.240602.1. Para habilitar uma classe para publicação AOT com C#/WinRT, ela deve primeiro ser marcada como partial. Isso permite que o analisador de origem AOT do C#/WinRT atribua as classes para análise estática. Somente as classes (que contêm métodos, os destinos de corte) exigem esse atributo.

Técnicas sem reflexão

Para habilitar a compatibilidade AOT, as técnicas baseadas em reflexão devem ser substituídas por serialização tipada estaticamente, AppContext.BaseDirectory, typeof() etc. Para obter detalhes, consulte Introdução aos avisos de corte.

Tipos de enraizamento

Até que o suporte completo seja {Binding} implementado, os tipos podem ser preservados do corte da seguinte maneira: Dado o assembly que consome o projeto PA com o tipo T no namespaceN, que é apenas referenciado dinamicamente (normalmente cortado), T pode ser preservado por meio de:

P.csproj:

<ItemGroup>
    <TrimmerRootDescriptor Include="ILLink.Descriptors.xml" />
</ItemGroup>

ILLink.Descriptors.xml:

<?xml version="1.0" encoding="utf-8"?>
<linker>
    <assembly fullname="A">
        <type fullname="N.T" preserve="all" />
    </assembly>
</linker>

Para obter a sintaxe completa da expressão XML dos descritores raiz, consulte Descritores Raiz.

Observação

Os pacotes de dependência que ainda não adotaram o suporte AOT podem apresentar problemas de tempo de execução.

Tear-out da guia TabView aprimorada

TabView suporta um novo modo CanTearOutTabs que proporciona uma experiência aprimorada ao arrastar guias e criar uma nova janela. Quando essa nova opção está ativada, arrastar com a guia é muito parecido com a experiência de arrastar com a guia no Edge e no Chrome, em que uma nova janela é criada imediatamente durante o arrasto, permitindo que o usuário a arraste para a borda da tela para maximizar ou ajustar a janela em um movimento suave. Essa implementação também não usa APIs de arrastar e soltar, portanto, não é afetada por nenhuma limitação nessas APIs. Notavelmente, a remoção de guias é suportada em processos executados com privilégios elevados como Administrador.

Problema conhecido: nesta versão, o comportamento de entrada do ponteiro para CanTearOutTabs está incorreto em monitores com fator de escala diferente de 100%. Isso será corrigido na próxima versão 1.6.

Novo controle TitleBar

Um novo TitleBar controle facilita a criação de uma barra de título excelente e personalizável para seu aplicativo com os seguintes recursos:

  • Propriedades configuráveis de ícone, título e legenda
  • Um botão Voltar integrado
  • A capacidade de adicionar um controle personalizado como uma caixa de pesquisa
  • Ocultação e exibição automática de elementos com base na largura da janela
  • Funcionalidades para mostrar o estado da janela ativa ou inativa
  • Suporte para recursos padrão da barra de título, incluindo regiões arrastáveis em áreas vazias, capacidade de resposta do tema, botões de legenda padrão (mín/máx/fechar) e suporte de acessibilidade integrado

O TitleBar controle foi projetado para dar suporte a várias combinações de barras de título, tornando-o flexível para criar a experiência desejada sem precisar escrever muito código personalizado. Recebemos feedback do protótipo da barra de título do kit de ferramentas da comunidade e esperamos feedback adicional!

Problema conhecido: nesta versão, o TitleBar mostra apenas o ícone e o título devido a um problema em que alguns elementos não aparecem no carregamento. Para contornar isso, use o seguinte código para carregar os outros elementos (Legenda, Cabeçalho, Conteúdo e Rodapé):

public MainWindow()
  {
      this.InitializeComponent();
      this.ExtendsContentIntoTitleBar = true;
      this.SetTitleBar(MyTitleBar);

      MyTitleBar.Loaded += MyTitleBar_Loaded;
  }

  private void MyTitleBar_Loaded(object sender, RoutedEventArgs e)
  {
      // Parts get delay loaded. If you have the parts, make them visible.
      VisualStateManager.GoToState(MyTitleBar, "SubtitleTextVisible", false);
      VisualStateManager.GoToState(MyTitleBar, "HeaderVisible", false);
      VisualStateManager.GoToState(MyTitleBar, "ContentVisible", false);
      VisualStateManager.GoToState(MyTitleBar, "FooterVisible", false);

      // Run layout so we re-calculate the drag regions.
      MyTitleBar.InvalidateMeasure();
  }

Esse problema será corrigido na próxima versão 1.6.

Outras alterações notáveis
  • ItemsWrapGrid não selado. Essa deve ser uma alteração compatível com as versões anteriores.
  • PipsPager dá suporte a um novo modo em que ele pode encapsular entre o primeiro e os itens de lista.
  • RatingControl agora é mais personalizável, movendo algumas propriedades de estilo codificadas para recursos de tema. Isso permite que os aplicativos substituam esses valores para personalizar melhor a aparência do RatingControl.
Novas APIs para 1.6-experimental1

1.6-experimental1 inclui as novas APIs a seguir. Essas APIs não são experimentais, mas ainda não estão incluídas em uma versão de versão estável do SDK do Aplicativo do Windows.

Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
        None
        Wrap
APIs adicionais para 1.6-experimental1

Esta versão inclui as seguintes APIs experimentais novas e modificadas:

Microsoft.UI.Content

    ChildContentLink
    ContentExternalOutputLink
        IsAboveContent

    ContentIsland
        Children
        Create
        FindAllForCompositor
        GetByVisual
        Offset
        RotationAngleInDegrees

    ContentSite
        Offset
        RotationAngleInDegrees

    ContentSiteView
        Offset
        RotationAngleInDegrees

    IContentLink
    IContentSiteBridge2
    ReadOnlyDesktopSiteBridge
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Windowing

    AppWindow
        DefaultTitleBarShouldMatchAppModeTheme
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
        TryGetContentIsland
Microsoft.UI.Xaml.Controls

    ScrollingViewChangingEventArgs
    ScrollView
        ViewChanging

    StackLayout
        IsVirtualizationEnabled
        IsVirtualizationEnabledProperty

    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
    TitleBar
    TitleBarAutomationPeer
    TitleBarTemplateSettings
Microsoft.UI.Xaml.Controls.Primitives

    ScrollPresenter
        ViewChanging
Outros problemas conhecidos
  • Aplicativos não XAML que usam Microsoft.UI.Content.ContentIslands e não manipulam o evento ContentIsland.AutomationProviderRequested (ou retornam nullptr como o provedor de automação) falharão se qualquer ferramenta de acessibilidade ou automação da interface do usuário estiver habilitada, como Acesso por Voz, Narrador, Insights de Acessibilidade, Inspect.exe etc.
Correções

Esta versão inclui as seguintes correções de bug:

  • Corrigido um problema em que clicar em uma área vazia de um ScrollViewer sempre movia o foco para o primeiro controle focalizável no ScrollViewer e rolava esse controle para exibição. Para obter mais informações, consulte o problema #597 do GitHub.
  • Corrigido um problema em que às vezes o evento Window.Activated disparava várias vezes. Para obter mais informações, consulte o problema #7343 do GitHub.
  • Corrigido um problema que definia a NavigationViewItem.IsSelected propriedade para true impedir que seus filhos fossem exibidos quando expandidos. Para obter mais informações, consulte o problema #7930 do GitHub.
  • Corrigido um problema em que MediaPlayerElement não exibia corretamente legendas com None ou DropShadow efeitos de borda. Para obter mais informações, consulte o problema #7981 do GitHub.
  • Corrigido um problema em que a propriedade Flyout.ShowMode não era usada ao mostrar o submenu. Para obter mais informações, consulte o problema #7987 do GitHub.
  • Corrigido um problema em que NumberBox às vezes apresentava erros de arredondamento. Para obter mais informações, consulte o problema #8780 do GitHub.
  • Correção de um problema em que o uso de uma biblioteca compilada para uma versão mais antiga do SDK do Aplicativo do Windows poderia resultar em uma tentativa falhada de encontrar um tipo ou propriedade. Para obter mais informações, consulte o problema #8810 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era definido ao iniciar uma janela. Para obter mais informações, consulte o problema #8816 do GitHub.
  • Corrigido um problema em que FlyoutShowMode.TransientWithDismissOnPointerMoveAway não funcionava após a primeira vez que era mostrado. Para obter mais informações, consulte o problema #8896 do GitHub.
  • Corrigido um problema em que alguns controles não associavam corretamente as propriedades de modelo Foreground e Background. Para obter mais informações, consulte os problemas #7070, #9020, #9029, #9083 e #9102 do GitHub.
  • Corrigido um problema no qual os ThemeResources usados nos setters VisualStateManager não eram atualizados com a mudança de tema. Isso geralmente afetava os controles em submenus. Para obter mais informações, consulte o problema #9198 do GitHub.
  • Corrigido um problema em que WebView perdia o foco principal, resultando em eventos adicionais de desfoque/foco e outros problemas. Para obter mais informações, consulte o problema #9288 do GitHub.
  • Corrigido um problema em que NavigationView pode mostrar um erro de associação na saída de depuração. Para obter mais informações, consulte o problema #9384 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 que alterar ItemsView.Layout a orientação fazia com que um item fosse removido. Para obter mais informações, consulte o problema #9422 do GitHub.
  • Corrigido um problema em que rolar ScrollView gerava muita saída de depuração. Para obter mais informações, consulte o problema #9434 do GitHub.
  • Corrigido um problema em que MapContorl.InteractiveControlsVisible não funciona corretamente. Para obter mais informações, consulte o problema #9486 do GitHub.
  • Corrigido um problema em que MapControl.MapElementClick o evento não era disparado corretamente. Para obter mais informações, consulte o problema #9487 do GitHub.
  • Corrigido um problema em que x:Bind não verifica se há nulo antes de usar uma referência fraca, o que pode resultar em uma falha. Para obter mais informações, consulte o problema #9551 do GitHub.
  • Corrigido um problema em que a alteração da TeachingTip.Target propriedade não atualiza corretamente sua posição. Para obter mais informações, consulte o problema #9553 do GitHub.
  • Corrigido um problema em que as listas suspensas não funcionavam no WebView2. Para obter mais informações, consulte o problema #9566 do GitHub.
  • Corrigido um vazamento de memória ao usar GeometryGroup. Para obter mais informações, consulte o problema #9578 do GitHub.
  • Corrigido um problema em que rolar por um número muito grande de itens de um ItemRepeater em um ScrollView pode causar quadros de renderização em branco. Para obter mais informações, consulte o problema #9643 do GitHub.
  • Corrigido um problema em que SceneVisual não estava funcionando.