Lançamento da Microsoft Windows UI Library 3 Preview 4

Ícone de tempo de leitura 9 minutos. ler


Os leitores ajudam a oferecer suporte ao MSpoweruser. Podemos receber uma comissão se você comprar através de nossos links. Ícone de dica de ferramenta

Leia nossa página de divulgação para descobrir como você pode ajudar o MSPoweruser a sustentar a equipe editorial Saiba mais

WinUI é uma camada de interface do usuário que contém controles e estilos modernos para criar aplicativos do Windows, Desktop e UWP. Como a camada de interface do usuário nativa no Windows, ela incorpora o Fluent Design, dando a cada aplicativo do Windows a sensação polida que os usuários esperam.

[lwptoc title=”Visualização da Biblioteca WinUI 3 4″ largura=”40%” float=”direita”]

O WinUI 3 é a versão mais recente da estrutura WinUI, lançada ainda este ano. Ele expande drasticamente o WinUI em uma estrutura de UX completa, tornando o WinUI disponível para todos os tipos de aplicativos do Windows – de Win32 a UWP – para uso como camada de interface do usuário. Quando estiver pronto, todos os aplicativos do Windows poderão aproveitar seus controles modernos que funcionam independentemente da versão do Windows em que estão sendo executados.

Lançado hoje, Visualização 3 do WinUI 4 é uma versão de visualização de estabilidade que inclui correções de bugs críticos e outras melhorias gerais para a estrutura.

Recursos introduzidos na Visualização 4

  • Paridade com WinUI 2.5 (inclui controle InfoBar, novos recursos no ProgressRing e NavigationView e correções de bugs)
  • Recursos personalizados da barra de título: novas APIs Window.ExtendsContentIntoTitleBar e Window.SetTitleBar que permitem que os desenvolvedores criem barras de título personalizadas em aplicativos de desktop.
  • Suporte VirtualSurfaceImageSource

Novos recursos e capacidades introduzidos nas prévias do WinUI 3

Os seguintes recursos e capacidades foram introduzidos no WinUI 3 Preview 1-3 e continuam sendo suportados no WinUI 3 Preview 4.

  • Capacidade de criar aplicativos de desktop com WinUI, incluindo .NET 5 para aplicativos Win32
  • RadialGradient Brush
  • Atualizações do TabView
  • Atualizações do tema escuro
  • Melhorias e atualizações para webview2
    • Suporte para DPI alto
    • Suporte para redimensionamento e movimentação de janelas
    • Atualizado para segmentar a versão mais recente do Edge
    • Não é mais necessário fazer referência a um pacote Nuget específico do WebView2
  • Painel SwapChain
  • Suporte principal MRT
    • Isso torna os aplicativos mais rápidos e leves na inicialização e fornece uma pesquisa de recursos mais rápida.
  • Suporte ARM64
  • Arraste e solte dentro e fora dos aplicativos
  • RenderTargetBitmap (atualmente apenas conteúdo XAML – sem conteúdo SwapChainPanel)
  • Suporte para cursor personalizado
  • Entrada fora da linha
  • Melhorias em nossas ferramentas / experiência do desenvolvedor:
    • Live Visual Tree, Hot Reload, Live Property Explorer e ferramentas semelhantes
    • Intellisense para WinUI 3
  • Melhorias necessárias para migração de código aberto

Para obter mais informações sobre os benefícios do WinUI 3 e o roteiro do WinUI, consulte o Roteiro da biblioteca de interface do usuário do Windows no GitHub.

Lista de bugs corrigidos no Preview 4

Abaixo está uma lista de bugs voltados para o usuário que a equipe corrigiu desde o Preview 3. Também houve muito trabalho em torno da estabilização e melhoria de nossos testes.

  • Esta versão assumiu uma nova versão do CS/WinRT e do SDK do Windows, que corrigiu os seguintes bugs:
    • Falha ao vincular a uma propriedade URI usando {Binding}
    • Funções C#/WinRT Marshal não interoperam corretamente com .NET 5
  • Falha do WinUI 3 ao executar em Windows Insider Builds
    • Obrigado a vários colaboradores da comunidade por relatar esse bug no GitHub!
  • O WebView2 não aplica o idioma/localidade do aplicativo host ao CoreWebView2Environment
  • O controle DataGrid do Windows Community Toolkit trava o aplicativo na inicialização/quando as barras de rolagem aparecem
    • Obrigado a vários colaboradores da comunidade por relatar esse bug no GitHub!
  • A renderização da página fica em mau estado quando o modo de exibição é alterado
  • Falha ao usar Language ComboBox no CalendarView
  • WinUI 3 Desktop: não é possível sair do WebView2
  • WinUI 3 Desktop: TreeView com TreeViewNodes derivado trava
  • WinUI 3 Desktop: Não é possível inserir texto no TextBox dentro do ContentDialog
  • WinUI 3 Desktop: ALT e F6 não funcionam
  • O antigo SwapChainPanel removido é renderizado em cima do novo SwapChain
  • Desktop WinUI 3: não é possível rolar com o trackpad
  • Falha ao usar o controle NavigationView com várias janelas no mesmo thread
  • Problema de acessibilidade: Mostrar foco rect na inicialização do aplicativo de desktop WinUI
  • Violação de acesso ao rolar no DataGrid
  • WinUI 3 Desktop: o ciclo de guias não funciona
  • Arrastar e soltar no GridView falha no aplicativo de desktop com WinUI Xaml Islands
  • Problema de acessibilidade: não é possível rolar com as teclas PageUp/PageDown na área de trabalho do WinUI 3
  • WebView2 tem tamanho errado da janela de visualização
  • Falha do WebView2 ao clicar após abrir o MenuFlyout
  • Desktop WinUI 3: A tentativa de derrubar DropDownButton ou o submenu do SplitButton causa falha no aplicativo
  • WebView2: duplo clique com o botão direito do mouse causa uma falha
  • Clicar em um ToggleSplitButton faz com que o aplicativo falhe
  • WinUI 3 Desktop: Janela DesktopWindowXamlSource vazia visível na barra de tarefas
  • Desktop WinUI 3: DataGrid não sendo exibido
  • WinUI 3 Desktop: Não é possível soltar arquivos na grade
  • Desktop WinUI 3: Falha de ItemsRepeater no WinUI 3 Preview 2
  • AccessViolationException lançada ao atualizar associações
  • WinUI 3 Desktop: o aplicativo trava na rolagem NavigationView
  • ItemsControl não é atualizado ao adicionar ou remover itens dinamicamente em sua coleção ItemsSource.
  • Erro de compilação C2760 em App.xaml.gh se o modo de conformidade C++ estiver ativado

Limitações e problemas conhecidos

A versão Preview 4 é simplesmente uma prévia com bugs, limitações e outros problemas com os cenários em torno dos aplicativos de desktop que são especialmente novos.

Os itens a seguir são alguns dos problemas conhecidos com o WinUI 3 Preview 4.

Ferramentas de desenvolvimento

  • Apenas aplicativos C# e C++/WinRT são compatíveis
  • Os aplicativos de desktop são compatíveis com .NET 5 e C# 9 e devem ser empacotados em um aplicativo MSIX
  • Aplicativos UWP são compatíveis com .NET Native e C# 7.3
  • As ferramentas de desenvolvedor e o Intellisense podem não funcionar corretamente no Visual Studio versão 16.8.
  • Sem suporte ao Designer XAML
  • Novos aplicativos C++/CX não são suportados, no entanto, seus aplicativos existentes continuarão funcionando (por favor, mude para C++/WinRT o mais rápido possível)
  • O suporte para várias janelas em aplicativos da área de trabalho está em andamento, mas ainda não está completo e estável.
    • Por favor, registre um bug em nosso repositório se você encontrar novos problemas ou regressões com comportamento de várias janelas.
  • A implantação de desktop não empacotada não é compatível
  • Ao executar um aplicativo da área de trabalho usando F5, verifique se você está executando o projeto de empacotamento. Pressionar F5 no projeto do aplicativo executará um aplicativo não empacotado, que o WinUI 3 ainda não oferece suporte.

Recursos da plataforma ausentes

  • Suporte Xbox
  • Suporte para HoloLens
  • Pop-ups em janelas
    • Mais especificamente, o ShouldConstrainToRootBounds A propriedade sempre age como se estivesse definida como true, independentemente do valor do imóvel.
  • Suporte de tinta
  • Acrílico
  • MediaElement e MediaPlayerElement
  • MapControl
  • RenderTargetBitmap para SwapChainPanel e conteúdo não XAML
  • SwapChainPanel não suporta transparência
  • O Global Reveal usa o comportamento de fallback, um pincel sólido
  • As ilhas XAML não são compatíveis com esta versão
  • As bibliotecas de ecossistema de terceiros não funcionarão totalmente
  • IMEs não funcionam

Problemas conhecidos

  • Alt+F4 não fecha as janelas do aplicativo Desktop.
  • Devido a mudanças com CoreWindow, as seguintes APIs do WinRT podem não funcionar mais com Computador de mesa aplicativos como esperado:

    Para obter mais informações sobre como usar as APIs do WinRT em seu aplicativo WinUI 3 Desktop, consulte APIs do Windows Runtime disponíveis para aplicativos de desktop.

  • Evento Windows.UI.ViewManagement.UISettings.ColorValuesChanged não é mais compatível com aplicativos de desktop. Isso pode causar problemas se você o estiver usando para detectar alterações nos temas do Windows.
  • Esta versão inclui algumas APIs experimentais. Eles não foram completamente testados pela equipe e podem ter problemas desconhecidos. Por favor arquivar um bug em nosso repositório se você encontrar algum problema.
  • Anteriormente, para obter uma instância CompositionCapabilities, você chamaria ComposiçãoCapabilites.GetForCurrentView(). No entanto, os recursos retornados desta chamada foram não dependente da vista. Para resolver e refletir isso, excluímos a estática GetForCurrentView() nesta versão, então agora você pode criar um Recursos de composição objeto diretamente.
  • Para aplicativos C# UWP: A estrutura WinUI 3 é um conjunto de componentes WinRT que podem ser usados ​​em C++ (usando C++/WinRT) ou C#. Ao usar C#, há duas versões do .NET, dependendo do modelo do aplicativo: ao usar o WinUI 3 em um aplicativo UWP, você está usando o .NET Native; ao usar em um aplicativo de área de trabalho, você está usando .NET 5 (e C#/WinRT). Aplicativo WinUI 3: alguns tipos estão em um Microsoft namespace em vez de um System namespace. Por exemplo, em vez do INotifyPropertyChanged interface estar no System.ComponentModel namespace, está no Microsoft.UI.Xaml.Data namespace. Isso se aplica a:
    • INotifyPropertyChanged (e tipos relacionados)
    • INotifyCollectionChanged
    • ICommand

    System as versões de namespace ainda existem, mas não podem ser usadas com o WinUI 3. Isso significa que ObservableCollection não funciona como está em aplicativos WinUI 3 C# UWP. Para uma solução alternativa, consulte o Coleções Amostra de interoperabilidade no Exemplo da Galeria de controles XAML.

O que vem a seguir?

Os desenvolvedores podem dar uma olhada nas informações detalhadas da Microsoft roteiro de recursos para ver quando recursos específicos serão trazidos para o WinUI 3.

Instale o WinUI 3 Preview 4

O WinUI 3 Preview 4 inclui modelos de projeto do Visual Studio para ajudar a começar a criar aplicativos com uma interface de usuário baseada em WinUI e um pacote NuGet que contém as bibliotecas WinUI. Para instalar o WinUI 3 Preview 4, siga estas etapas.

Kit de ferramentas da comunidade do Windows

Se você estiver usando o Windows Community Toolkit, baixe a última versão.

Além da limitações e problemas conhecidos, a criação de um aplicativo usando os projetos WinUI é semelhante à criação de um aplicativo UWP com XAML e WinUI 2.x. Portanto, a maioria dos documentação de orientação para aplicativos UWP e o Windows.UI Os namespaces WinRT no SDK do Windows são aplicáveis.

Para obter mais informações sobre como começar a usar os modelos de projeto WinUI, consulte os seguintes artigos:

Uma documentação de referência da API para esta versão será lançada em breve, mas enquanto isso, os desenvolvedores podem consultar o Documentação de referência da API WinUI 3 para visualização 3.

Se você criou um projeto usando o WinUI 3 Preview 3, você pode atualizar seu projeto para usar o Preview 4. Consulte o Repositório WinUI GitHub para instruções detalhadas.

Para aproveitar os recursos de ferramentas mais recentes adicionados ao WinUI 3 Preview 4, como Hot Reload, Live Visual Tree e Live Property Explorer, você deve usar a versão de visualização mais recente do Visual Studio com a visualização mais recente do WinUI 3 e certifique-se de habilitar Ferramentas WinUI nos recursos de visualização do Visual Studio, conforme descrito no instruções aqui.

veja a Ramo WinUI 3 Preview 4 da Galeria de Controles XAML para um aplicativo de exemplo que inclui todos os controles e recursos do WinUI 3 Preview 4.


Exemplo do aplicativo WinUI 3 Preview 4 XAML Controls Gallery

Esta versão de visualização do WinUI 3 destina-se à avaliação antecipada e à coleta de comentários da comunidade de desenvolvedores. Deveria NÃO ser usado para aplicativos de produção. A Microsoft continuará enviando versões prévias do WinUI 3 em 2021, seguidas pelo primeiro lançamento oficial com suporte em março de 2021.

Por favor use o repositório WinUI GitHub para fornecer feedback e registrar sugestões e problemas.

Mais sobre os tópicos: desenvolvedores, microsoft, visualização do winui 3 4