Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a témakör végigvezeti az Windows UI-könyvtár (WinUI) alapszintű támogatásának A C++/WinRT UWP projekthez való hozzáadásának folyamatán. Ez a témakör a WinUI 2-vel foglalkozik, amely UWP-alkalmazásokhoz készült. Asztali alkalmazások esetén a WinUI 3 található. A WinUI egyébként C++/WinRT nyelven íródott.
Fontos
Asztali alkalmazások esetén a Windows App SDKWindows UI-könyvtár (WinUI) 3-at biztosít. A WinUI 3 nem használható a jelen témakörben ismertetett útmutatóval, amely az UWP-hez készült. Lásd még: Migrálás az UWP-ről a Windows App SDK.
Note
A Windows UI-könyvtár (WinUI) eszközkészlet NuGet-csomagokként érhető el, amelyeket bármely meglévő vagy új projekthez hozzáadhat a Visual Studio használatával, amint az ebben a témakörben is látható. További háttér-, beállítás- és támogatási információkért tekintse meg a Windows UI-könyvtár használatának első lépéseit.
Üres alkalmazás létrehozása (HelloWinUICppWinRT)
A Visual Studio hozzon létre egy új UWP-projektet az Üres alkalmazás (C++/WinRT) projektsablon használatával (WinUI 3 asztali alkalmazások esetén használja az Üres alkalmazás, Csomagolt (WinUI 3 in Desktop) sablont). Győződjön meg arról, hogy a (C++/WinRT) sablont használja, és nem az (univerzális Windows) sablont.
Állítsa az új projekt nevét HelloWinUICppWinRT értékre, és (hogy a mappaszerkezet megfeleljen az útmutatónak) törölje a jelölést a A megoldás és a projekt elhelyezése ugyanabban a könyvtárban jelölőnégyzetből.
Telepítse a Microsoft.UI.Xaml NuGet-csomagot
Kattintson a Project>NuGet-csomagok kezelése...>Tallózás elemre, írja be vagy illessze be a(z) Microsoft.UI.Xaml kifejezést a keresőmezőbe, jelölje ki az elemet a keresési eredmények közül, majd kattintson a Telepítés gombra a csomag projektbe való telepítéséhez (megjelenik egy licencszerződés elfogadására szolgáló kérdés is). Ügyeljen arra, hogy csak a Microsoft.UI.Xaml csomagot telepítse, ne a Microsoft.UI.Xaml.Core.Direct csomagot.
WinUI-alkalmazáserőforrások deklarálása
Nyissa meg App.xaml és illessze be a következő korrektúrát a meglévő nyitó és záró alkalmazáscímkék között.
<Application.Resources>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</Application.Resources>
WinUI-vezérlő hozzáadása a MainPage-hez
Ezután nyissa meg a(z) MainPage.xaml elemet. A meglévő nyitóoldalcímkében van néhány xml-névtér-deklaráció. Adja hozzá az XML-névtér deklarációt xmlns:muxc="using:Microsoft.UI.Xaml.Controls". Ezután illessze be a következő korrektúrát a meglévő nyitó és záró oldalcímkék közé, felülírva a meglévő StackPanel-elemet.
<muxc:NavigationView PaneTitle="Welcome">
<TextBlock Text="Hello, World!" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource TitleTextBlockStyle}"/>
</muxc:NavigationView>
Szükség szerint szerkessze a pch.h-t
Ha egy NuGet-csomagot ad hozzá egy C++/WinRT-projekthez (például a korábban hozzáadott Microsoft.UI.Xaml csomagot), majd lefordítja a projektet, az eszközök létrehoznak egy készletnyi projekciós fejlécfájlt a projekt \Generated Files\winrt mappájában. Ha követte az útmutatót, most már rendelkezik egy \HelloWinUICppWinRT\HelloWinUICppWinRT\Generated Files\winrt mappával. Ha be szeretné vonni ezeket a fejlécfájlokat a projektbe, hogy az új típusokra mutató hivatkozások feloldódjanak, az előre összeállított fejlécfájlba (általában pch.h) beviheti őket, és belefoglalhatja őket.
Csak a használt típusoknak megfelelő fejléceket kell tartalmaznia. De itt van egy példa, amely tartalmazza a(z) Microsoft.UI.Xaml csomaghoz létrehozott összes headerfájlt.
// 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"
...
MainPage.cpp szerkesztése
A MainPage.cpp helyen törölje a MainPage::ClickHandler implementációján belüli kódot, mivel a myButton már nem szerepel az XAML-jelölőben.
Most már létrehozhatja és futtathatja a projektet.
Kapcsolódó témakörök
Windows developer