Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este tópico guia-o pelo processo de adicionar suporte básico para a Biblioteca da IU do Windows (WinUI) ao seu projeto C++/WinRT UWP. Especificamente, este tópico trata do WinUI 2, que é para aplicações UWP. Para aplicações de desktop, existe o WinUI 3. Por acaso, o WinUI está escrito em C++/WinRT.
Important
Para aplicações de ambiente de trabalho, o SDK de Aplicações Windows fornece o Biblioteca da IU do Windows (WinUI) 3. O WinUI 3 não foi concebido para funcionar com o guia neste tópico, que é para UWP. Veja também Migrar do UWP para o SDK de Aplicações do Windows.
Note
O toolkit Biblioteca da IU do Windows (WinUI) está disponível como pacotes NuGet que pode adicionar a qualquer projeto existente ou novo usando o Visual Studio, como veremos neste tópico. Para mais informações, configuração e suporte, consulte Começar com a Biblioteca da IU do Windows.
Criar uma Aplicação em Branco (HelloWinUICppWinRT)
No Visual Studio, crie um novo projeto UWP usando o modelo de projeto Blank App (C++/WinRT) (para aplicações desktop WinUI 3, use o modelo Blank App, Packaged (WinUI 3 em Desktop)). Certifica-te de que estás a usar o modelo (C++/WinRT), e não o modelo (Universal Windows).
Defina o nome do novo projeto para HelloWinUICppWinRT e (para que a sua estrutura de pastas corresponda ao guia) desmarque Colocar solução e projeto no mesmo diretório.
Instalar o pacote NuGet Microsoft.UI.Xaml
Clique em Projeto>Gerir Pacotes NuGet...>Procurar, escreva ou cole Microsoft.UI.Xaml na caixa de pesquisa, selecione o item nos resultados da pesquisa e, em seguida, clique em Instalar para instalar o pacote no seu projeto (também verá um pedido de aceitação do contrato de licença). Tenha cuidado para instalar apenas o pacote Microsoft.UI.Xaml, e não Microsoft.UI.Xaml.Core.Direct.
Declarar recursos da aplicação WinUI
Abra App.xaml e cole a marcação seguinte entre as etiquetas de abertura e encerramento existentes da Aplicação .
<Application.Resources>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</Application.Resources>
Adicionar um controlo WinUI ao MainPage
A seguir, abre MainPage.xaml. Na etiqueta Page de abertura existente existem algumas declarações de namespace em xml. Adicione a declaração do espaço de nomes XML xmlns:muxc="using:Microsoft.UI.Xaml.Controls". Depois, cole a marcação seguinte entre as etiquetas de abertura e fecho da Página existentes, sobrescrevendo o elemento StackPanel existente.
<muxc:NavigationView PaneTitle="Welcome">
<TextBlock Text="Hello, World!" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource TitleTextBlockStyle}"/>
</muxc:NavigationView>
Editar o ficheiro pch.h, conforme necessário
Quando adicionas um pacote NuGet a um projeto C++/WinRT (como o pacote Microsoft.UI.Xaml, que adicionaste anteriormente) e compilas o projeto, as ferramentas geram um conjunto de ficheiros de cabeçalho de projeção na pasta \Generated Files\winrt do teu projeto. Se acompanhou o tutorial, deverá ter agora a pasta \HelloWinUICppWinRT\HelloWinUICppWinRT\Generated Files\winrt. Para trazer esses ficheiros de cabeçalhos para o seu projeto, de modo a que as referências a esses novos tipos se resolvam, pode aceder ao seu ficheiro de cabeçalho pré-compilado (normalmente pch.h) e incluí-los.
Precisa de incluir apenas os cabeçalhos que correspondam aos tipos que utiliza. Mas aqui está um exemplo que inclui todos os ficheiros de cabeçalho gerados do pacote Microsoft.UI.Xaml.
// pch.h
...
#include "winrt/Microsoft.UI.Xaml.Automation.Peers.h"
#include "winrt/Microsoft.UI.Xaml.Controls.h"
#include "winrt/Microsoft.UI.Xaml.Controls.Primitives.h"
#include "winrt/Microsoft.UI.Xaml.Media.h"
#include "winrt/Microsoft.UI.Xaml.XamlTypeInfo.h"
...
Editar MainPage.cpp
Em MainPage.cpp, elimina o código dentro da tua implementação do MainPage::ClickHandler, uma vez que o myButton já não está na marcação XAML.
Agora você pode criar e executar o projeto.
Tópicos relacionados
Windows developer