Temel bir C++/WinRT Windows UI Kitaplığı 2 örneği (UWP)

Bu konu, C++/WinRT UWP projenize Windows UI Kitaplığı (WinUI) için temel destek ekleme işleminde size yol gösterir. Özellikle, bu konu UWP uygulamalarına yönelik WinUI 2 ile ilgilidir. Masaüstü uygulamaları için WinUI 3 vardır. Bu arada, WinUI kendisi C++/WinRT dilinde yazılır.

Önemli

Masaüstü uygulamaları için Windows Uygulama SDK'sıWindows UI Kitaplığı (WinUI) 3 sağlar. WinUI 3, UWP'ye yönelik olan bu konudaki izlenecek yol ile çalışmak üzere tasarlanmamıştır. Ayrıca bkz. UWP'den Windows Uygulama SDK'sı geçiş.

Note

Windows UI Kitaplığı (WinUI) araç seti, bu konuda göreceğimiz gibi Visual Studio kullanarak mevcut veya yeni herhangi bir projeye ekleyebileceğiniz NuGet paketleri olarak kullanılabilir. Daha fazla arka plan, kurulum ve destek bilgisi için bkz. Windows UI Kitaplığı kullanmaya başlama.

Boş Uygulama Oluşturma (HelloWinUICppWinRT)

Visual Studio'da Boş Uygulama (C++/WinRT) proje şablonunu kullanarak yeni bir UWP projesi oluşturun (WinUI 3 masaüstü uygulamaları için Boş Uygulama, Paketlenmiş (Masaüstünde WinUI 3) şablonunu kullanın). (Evrensel Windows) şablonunu değil , (C++/WinRT) şablonunu kullandığınızdan emin olun.

Yeni projenin adını HelloWinUICppWinRT olarak ayarlayın ve (klasör yapınızın izlenecek yolla eşleşmesi için) Çözümü ve projeyi aynı dizine yerleştir seçeneğinin işaretini kaldırın.

Microsoft.UI.Xaml NuGet paketini yükleyin

Project>NuGet Paketlerini Yönet...>Gözat seçeneğine tıklayın, arama kutusuna Microsoft.UI.Xaml yazın veya yapıştırın, arama sonuçlarında öğeyi seçin ve ardından paketi projenize yüklemek için Yükle'ye tıklayın (ayrıca bir lisans sözleşmesi istemi de görürsünüz). Yalnızca Microsoft.UI.Xaml paketini yüklemeye dikkat edin, Microsoft.UI.Xaml.Core.Direct paketini değil.

WinUI uygulama kaynaklarını bildirme

App.xaml öğesini açın ve aşağıdaki işaretlemeyi mevcut açılış ve kapanış Application etiketlerinin arasına yapıştırın.

<Application.Resources>
    <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
</Application.Resources>

MainPage'e WinUI denetimi ekleme

Ardından MainPage.xaml öğesini açın. Mevcut açılış Sayfası etiketinde bazı xml ad alanı bildirimleri vardır. xml ad alanı bildirimini xmlns:muxc="using:Microsoft.UI.Xaml.Controls"ekleyin. Ardından, mevcut açma ve kapatma Sayfası etiketleri arasına aşağıdaki işaretlemeyi yapıştırın ve var olan StackPanel öğesinin üzerine yazın.

<muxc:NavigationView PaneTitle="Welcome">
    <TextBlock Text="Hello, World!" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource TitleTextBlockStyle}"/>
</muxc:NavigationView>

Pch.h dosyasını gerektiği gibi düzenleyin

C++/WinRT projesine daha önce eklediğiniz Microsoft.UI.Xaml paketi gibi bir NuGet paketi eklediğinizde ve projeyi derlediğinizde, araçlar projenizin \Generated Files\winrt klasöründe bir dizi projeksiyon üst bilgi dosyası oluşturur. Adım adım kılavuzu takip ettiyseniz, artık bir \HelloWinUICppWinRT\HelloWinUICppWinRT\Generated Files\winrt klasörünüz olmalı. Bu üst bilgi dosyalarını projenize ekleyerek bu yeni türlere yapılan başvuruların çözümlenebilmesini sağlamak için, önceden derlenmiş üst bilgi dosyanızı (genellikle pch.h) açıp bunları dahil edebilirsiniz.

Yalnızca kullandığınız türlere karşılık gelen üst bilgileri eklemeniz gerekir. Ancak işte Microsoft.UI.Xaml paketi için oluşturulan tüm üst bilgi dosyalarını içeren bir örnek.

// 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 Düzenle

MainPage.cpp içinde, myButton artık XAML işaretlemesinde yer almadığından MainPage::ClickHandler uygulamanızın içindeki kodu silin.

Artık projeyi derleyebilir ve çalıştırabilirsiniz.

Basit C++/WinRT Windows UI Kitaplığı ekran görüntüsü