Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, eksiksiz bir WinUI 3 uygulaması oluşturmak için aracı modunda GitHub Copilot kullanacaksınız: not listesi içeren basit bir notes uygulaması girdi ekleme ve silme özelliği ve ayarlar sayfası. Her adımda tam olarak hangi istemleri kullanacağınızı ve WinUI 3 eklentisinin ve Learn MCP Server'ın Copilot'un doğruluğunu nasıl sağladığını göreceksiniz.
- Copilot ile WinUI 3 projesi oluşturma
- Copilot ile XAML kullanıcı arabirimi oluşturma
- Copilot ile iş mantığı ekleme
- Learn MCP Sunucusunu kullanarak Windows bildirimi ekleme
- Uygulamayı winapp CLI ile paketleme
Önkoşullar
- GitHub Copilot, WinUI 3 eklentisi ve Learn MCP Sunucusu ile ayarlama — bkz. Windows geliştirme için GitHub Copilot ayarlama
- WinUI uygulama geliştirme iş yüküyle Visual Studio 2026
-
winapp CLI yüklendi (
winget install Microsoft.winappcli)
Bölüm 1: Projeyi taslağını hazırlama
WinUI projesini oluşturma
Yeni bir WinUI 3 projesi oluşturun: Visual Studio'da File>New>Project seçeneklerini belirleyin, WinUI ile filtreleyin ve WinUI Boş Uygulaması (Paketlenmiş) C# şablonunu seçin. Projeyi NotesApp adlandırın ve açın.
Copilot aracısı modunu açma ve yapı iskelesi kurma
Copilot Chat panelini Visual Studio açın ve agent moduna geçin. Ardından girin:
"NotesApp adlı boş bir WinUI 3 projem var. Aşağıdaki yapıya sahip bir MVVM mimarisi ayarlayın: NavigationView içeren bir MainWindow, üç sayfa (Notlar, Sık Kullanılanlar, Ayarlar), temel ViewModel sınıfı ve NotesViewModel içeren bir ViewModels klasörü ve Id, Title, Content ve CreatedAt özelliklerine sahip bir Not modeline sahip Models klasörü. CommunityToolkit.Mvvm'i kullanın."
Copilot klasör yapısını oluşturur, CommunityToolkit.Mvvm NuGet paket başvurusu ekler, temel sınıfları oluşturur ve NavigationView'u bağlayacaktır. Çıktıyı gözden geçirin; bir sorun varsa Copilot aynı sohbet oturumunda düzeltmesini isteyin.
Tip
Copilot Windows.UI.Xaml yerine Microsoft.UI.Xaml ad alanları oluşturursa, WinUI 3 eklentisinin özel yönergeleri bunu yakalamalıdır. Görürseniz, şunu sor: "Windows.UI.Xaml durumlarını düzeltin — bu bir WinUI 3 projesidir, bu yüzden tüm XAML ad alanları Microsoft.UI.Xaml kullanmalıdır."
Bölüm 2: Kullanıcı arabirimini oluşturma
Notlar sayfasını oluşturma
"Notlar sayfası için XAML oluşturun. Başlık ve kesilmiş içerik önizlemesi gösteren bir ListView, altta yeni not eklemek için bir TextBox ve bir Buton ve her öğenin üzerinde bir Sil butonu bulunmalıdır. NotesViewModel'e bağlayın. WinUI 3 denetimlerini ve Fluent Design boşluklarını kullanın.
Copilot ViewModel'inize bağlı XAML'yi oluşturur. Stil veya düzeni gerektiği gibi ayarlamasını isteyin; örneğin:
"Liste öğelerinin WinUI Galerisi'nin kart örneklerine benzer şekilde ince gölgeli bir kart stili kullanmasını sağlayın."
Ayarlar sayfasını oluşturma
"Koyu/açık tema için bir geçiş tuşu ve onay iletişim kutusuyla 'Tüm notları temizle' düğmesini içeren bir Ayarlar sayfası oluşturun. Onay için ContentDialog kullanın, MessageDialog'ı değil."
WinUI 3 eklentisinin yönergeleri, Copilot'u ContentDialog doğru (doğru WinUI 3 yaklaşımı) yönüne ve kullanım dışı olan MessageDialog yönünden uzaklaştırır.
Bölüm 3: İş mantığı ekleme
Not kalıcılığını gerçekleştirme
Notlar koleksiyonunu ApplicationData.Current.LocalFolder dosyasına serileştirmek ve serileştirmeden çıkarmak için System.Text.Json kullanarak NotesViewModel'de notların kalıcılığını sağlayın. Başlangıç sırasında notları yükleyin ve koleksiyon her değiştiğinde kaydedin."
Copilot yükleme/kaydetme mantığını oluşturur. Hata işleme eklemesini isteyin:
"Dosya işlemleri etrafına try/catch bloğu ekleyin ve hataları Debug çıkışına günlükleyin."
Tema değiştirme işlevini uygulama
"SettingsViewModel'de tema geçişini uygulayın. Anahtarlama değiştiğinde, doğru WinUI 3 yaklaşımını kullanarak uygulamanın ana penceresindeki RequestedTheme'i güncelleyin.
Bölüm 4: Windows bildirimi ekleme
Copilot'a Sor, not kaydedildiğinde tetiklenecek bir bildirim ekle.
"Not başarıyla diskte kalıcı hale geldiğinde not başlığı alt başlık olarak 'Not kaydedildi' ifadesini gösteren bir Windows uygulama bildirimi ekleyin. Windows Uygulama SDK'sı AppNotificationManager'ı kullanın."
Learn MCP Sunucusu bağlı olduğunda, Copilot geçerli AppNotificationBuilder API'sini arayabilir ve doğru bildirim kodu oluşturabilir. Aşağıdakine benzer bir şey üretmelidir:
var notification = new AppNotificationBuilder()
.AddText("Note saved")
.AddText(note.Title)
.BuildNotification();
AppNotificationManager.Default.Show(notification);
Bölüm 5: Uygulamayı paketleme
Microsoft Store dağıtmaya veya yayımlamaya hazır olduğunuzda uygun bir MSIX paketi oluşturun:
winapp pack --output ./publish
Bu, dışarıdan yüklemeye veya Mağaza gönderimine hazır imzalı bir MSIX paketi oluşturur. Paket bildirimini güncellemek için Copilot'tan yardım isteyin:
"Store gönderimi için görünen adı, açıklamayı ve yayımcıyı ayarlamak için Package.appxmanifest dosyasını nasıl güncelleştireceğini göster."
Özet
Şunu kullanarak eksiksiz bir WinUI 3 not uygulaması oluşturdunuz:
- yapı iskelesi, kullanıcı arabirimi oluşturma ve iş mantığı için Copilot aracısı modu
- WinUI 3 eklentisi, Copilot'un modern ve doğru API'lerle uyumlu kalmasını sağlamak için
- MCP Server'ı Öğren ve Windows Uygulama SDK'sı bildirim API'lerini ara
- paket kimliği ve MSIX paketlemesi için winapp CLI
İsteğe bağlı: Uygulamanıza cihaz içi yapay zeka ekleme
Notlar uygulaması tamamen işlevseldir; ancak tamamen kullanıcının cihazında çalışan bir yapay zeka özelliği ekleyerek uygulamayı daha ileri taşıyabilirsiniz. Foundry Local bunu basitleştirir: yerel olarak bir dil modeli çalıştırır ve OpenAI uyumlu bir API'yi kullanıma sunar.
Foundry Local'ı yükleme ve model indirme
winget install Microsoft.AIFoundry.Local
foundry model run phi-4-mini
Model başladıktan sonra http://localhost:5272/openai/v1 üzerinde dinler.
NuGet paketini ekleyin
dotnet add package Azure.AI.OpenAI
Notlar sayfasına "Özetle" düğmesi ekleme
Copilot’a Sor:
"Notlar sayfasına bir 'Özetle' düğmesi ekleyin. Tıklandığında, seçilen notun içeriğini Azure.AI.OpenAI paketini kullanarak http://localhost:5272/openai/v1 konumundaki yerel yapay zeka uç noktasına göndermeli ve özetini bir ContentDialog içinde görüntülemelidir. Model adı phi-4-mini."
Copilot AzureOpenAIClient çağrı ve diyalog oluşturur — OpenAI uyumlu API, kodun localhost'a yönlendirildiğinde bulut API çağrısıyla aynı göründüğü anlamına gelir:
var client = new AzureOpenAIClient(
new Uri("http://localhost:5272/openai/v1"),
new ApiKeyCredential("foundry-local"));
var completion = await client.GetChatClient("phi-4-mini")
.CompleteChatAsync($"Summarize this note in 2 sentences: {note.Content}");
Kullanıcının gördüğü
İnternet bağlantısı gerekmez. API anahtarı yok. Model hızlı, özel ve ücretsiz olarak kendi bilgisayarlarında çalışır.
Tip
Copilot+ bilgisayarları hedefleyen uygulamalar için, doğrudan NPU'yu kullanarak daha da hızlı çıkarım yapmak üzere Foundry Local'ı Phi Silica ile değiştirebilirsiniz. API yüzeyi farklıdır (OpenAI uyumlu yerine Windows AI API'leri), ancak Copilot geçişi yapmanıza yardımcı olabilir.
Modernize et veya bir Windows uygulamasını Copilot ile taşı
- Windows geliştirme için Agentic AI araçları
- Foundry Local genel bakış — herhangi bir modeli Windows'ta yerel olarak çalıştırın
- Phi Silica — Copilot+ bilgisayarlarda NPU hızlandırmalı çıkarım
- Windows AI API'lerine genel bakış
- Windows Uygulaması Geliştirme CLI'si (winapp CLI)
- Windows Uygulama SDK'sı belgeleri
Windows developer