Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet beskriver hur du lägger till grundläggande stöd för Windows UI Library (WinUI) i ditt C++/WinRT UWP-projekt. Mer specifikt handlar det här avsnittet om WinUI 2, som gäller för UWP-appar. För skrivbordsappar finns WinUI 3. WinUI är för övrigt självt skrivet i C++/WinRT.
Viktigt!
För skrivbordsappar tillhandahåller Windows App SDKWindows UI Library (WinUI) 3. WinUI 3 är inte avsett att fungera med genomgången i det här avsnittet, som är för UWP. Se även Migrera från UWP till Windows App SDK.
Note
Verktyget Windows UI Library (WinUI) är tillgängligt som NuGet-paket som du kan lägga till i alla befintliga eller nya projekt med hjälp av Visual Studio, som vi ser i det här avsnittet. Mer information om bakgrund, konfiguration och support finns i Komma igång med Windows UI Library.
Skapa en tom app (HelloWinUICppWinRT)
I Visual Studio skapar du ett nytt UWP-projekt med hjälp av projektmallen Tom app (C++/WinRT) (för WinUI 3-skrivbordsappar använder du mallen Tom app, Paketerad (WinUI 3 i Desktop). Kontrollera att du använder mallen (C++/WinRT) och inte den (Universella Windows).
Ange namnet på det nya projektet till HelloWinUICppWinRT och avmarkera (så att mappstrukturen stämmer överens med genomgången) Placera lösning och projekt i samma mapp.
Installera Microsoft. UI. Xaml NuGet-paket
Klicka på Project>Hantera NuGet-paket...>Bläddra, skriv eller klistra in Microsoft. UI. Xaml i sökrutan, välj objektet i sökresultatet och klicka sedan på Installera för att installera paketet i din project (du ser även en fråga om licensavtal). Var noga med att bara installera Microsoft. UI. Xaml-paket och inte Microsoft. UI. Xaml.Core.Direct.
Deklarera WinUI-programresurser
Öppna App.xaml och klistra in följande markering mellan de befintliga inledande och avslutande programtaggar .
<Application.Resources>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</Application.Resources>
Lägga till en WinUI-kontroll i MainPage
Öppna sedan MainPage.xaml. I den befintliga sidtaggen som öppnas finns det några xml-namnområdesdeklarationer. Lägg till xml-namnområdesdeklarationen xmlns:muxc="using:Microsoft.UI.Xaml.Controls". Klistra sedan in följande markering mellan befintliga inledande och avslutande sidtaggar och skriv över det befintliga StackPanel-elementet .
<muxc:NavigationView PaneTitle="Welcome">
<TextBlock Text="Hello, World!" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource TitleTextBlockStyle}"/>
</muxc:NavigationView>
Redigera pch.h efter behov
När du lägger till ett NuGet-paket i ett C++/WinRT-projekt (till exempel Microsoft. UI. Xaml-paketet, som du lade till tidigare) och skapar projektet, genererar verktygen en uppsättning projektionshuvudfiler i projektets \Generated Files\winrt mapp. Om du har följt genomgången har du nu en \HelloWinUICppWinRT\HelloWinUICppWinRT\Generated Files\winrt mapp. Om du vill föra in dessa huvudfiler i projektet, så att referenser till dessa nya typer matchar, kan du gå in i den förkompilerade huvudfilen (vanligtvis pch.h) och inkludera dem.
Du behöver bara inkludera rubrikerna som motsvarar de typer som du använder. Men här är ett exempel som innehåller alla genererade huvudfiler för Microsoft. UI. Xaml-paket.
// 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"
...
Redigera MainPage.cpp
I MainPage.cpptar du bort koden i implementeringen av MainPage::ClickHandler eftersom myButton inte längre finns i XAML-markering.
Nu kan du skapa och köra projektet.
Relaterade ämnen
Windows developer