Contoh dasar Pustaka UI Windows C++/WinRT 2 (UWP)
Topik ini memandu Anda melalui proses penambahan dukungan dasar untuk Pustaka Windows UI (WinUI) ke proyek C++/WinRT UWP Anda. Secara khusus, topik ini berkaitan dengan WinUI 2, yaitu untuk aplikasi UWP. Untuk aplikasi desktop, ada WinUI 3. Kebetulan, WinUI sendiri ditulis dalam C++/WinRT.
Penting
Untuk aplikasi desktop, SDK Aplikasi Windows menyediakan Pustaka UI Windows (WinUI) 3. WinUI 3 tidak dimaksudkan untuk bekerja dengan panduan dalam topik ini, yaitu untuk UWP. Lihat juga Migrasi dari UWP ke SDK Aplikasi Windows.
Catatan
Kotak alat Pustaka UI Windows (WinUI) tersedia sebagai paket NuGet yang dapat Anda tambahkan ke proyek yang sudah ada atau baru menggunakan Visual Studio, seperti yang akan kita lihat dalam topik ini. Untuk informasi latar belakang, penyetelan, dan dukungan lainnya, lihat Mulai menggunakan Pustaka UI Windows.
Membuat Aplikasi Kosong (HelloWinUICppWinRT)
Di Visual Studio, buat proyek UWP baru menggunakan templat proyek Aplikasi Kosong (C++/WinRT). Pastikan Anda menggunakan templat (C++/WinRT), dan bukan templat (Universal Windows).
Atur nama proyek baru ke HelloWinUICppWinRT, dan (sehingga struktur folder Anda akan cocok dengan panduan) hapus centang Tempatkan solusi dan proyek di direktori yang sama.
Menginstal paket NuGet Microsoft.UI.Xaml
Klik Kelola Proyek>Paket NuGet...>Telusuri, ketik, atau tempel Microsoft.UI.Xaml di kotak pencarian, pilih item di hasil pencarian, lalu klik Instal untuk menginstal paket ke dalam proyek Anda (Anda juga akan melihat perintah perjanjian lisensi). Berhati-hatilah untuk menginstal hanya paket Microsoft.UI.Xaml , dan bukan Microsoft.UI.Xaml.Core.Direct.
Mendeklarasikan sumber daya aplikasi WinUI
Buka App.xaml
dan tempel markup berikut antara tag Aplikasi pembuka dan penutup yang ada.
<Application.Resources>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</Application.Resources>
Menambahkan kontrol WinUI ke MainPage
Berikutnya, buka MainPage.xaml
. Di tag Halaman pembuka yang sudah ada, ada beberapa deklarasi namespace xml. Tambahkan deklarasi xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
namespace xml . Kemudian, tempelkan markup berikut antara tag Halaman pembuka dan penutup yang ada, menimpa elemen StackPanel yang ada.
<muxc:NavigationView PaneTitle="Welcome">
<TextBlock Text="Hello, World!" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource TitleTextBlockStyle}"/>
</muxc:NavigationView>
Edit pch.h, seperlunya
Saat Anda menambahkan paket NuGet ke proyek C++/WinRT (seperti paket Microsoft.UI.Xaml , yang Anda tambahkan sebelumnya), dan membangun proyek, alat menghasilkan sekumpulan file header proyeksi di folder proyek \Generated Files\winrt
Anda. Jika Anda telah mengikuti panduan, Anda sekarang akan memiliki \HelloWinUICppWinRT\HelloWinUICppWinRT\Generated Files\winrt
folder. Untuk membawa file header tersebut ke dalam proyek Anda, sehingga referensi ke jenis baru tersebut diselesaikan, Anda dapat masuk ke file header yang telah dikommpilasikan sebelumnya (biasanya pch.h
) dan menyertakannya.
Anda hanya perlu menyertakan header yang sesuai dengan jenis yang Anda gunakan. Tetapi berikut adalah contoh yang mencakup semua file header yang dihasilkan untuk paket 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"
...
Edit MainPage.cpp
Dalam MainPage.cpp
, hapus kode di dalam implementasi MainPage::ClickHandler Anda, karena myButton tidak lagi berada di markup XAML.
Anda sekarang dapat membangun dan menjalankan proyek.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk