Yeni Başlayanlar İçin WPF Eğitimi: Uygulama Nasıl Oluşturulur [Örnek]
WPF nedir?
WPF inşa etmek için bir çerçevedir Windows kullanıcıların daha az kod karmaşıklığıyla 3B animasyonlar ve zengin renkler içeren zengin kullanıcı arayüzleri geliştirmelerine olanak tanıyan uygulamalar. Modern grafik kartlarının donanım hızlandırmasını kullanan vektör tabanlı bir işleme motorudur, bu da Ul'yi daha hızlı ve oldukça ölçeklenebilir hale getirir. WPF, Windows Sunum Foundation.
WPF, WinForms'a göre bir evrim olarak düşünülebilir. Kullanımı kolay grafiksel görüntüleme sistemi üretir. Windows. Kullanıcı arayüzü ile iş mantığı arasında kolay ayrım sağlar.
WPF uygulamaları, sisteminizde bağımsız bir masaüstü programı olarak dağıtılabilir veya bir web sitesinde yerleşik bir nesne olarak barındırılabilir.
Neden WPF?
WPF platformunu kullanmanın birçok nedeni vardır; bunlardan öne çıkanlar şunlardır:
- Çeşitli medya türleriyle uğraşmanız gerekiyorsa kullanabileceğiniz ideal bir platform
- WPF, dış görünümlü bir kullanıcı arayüzü oluşturmanıza olanak tanır. Ayrıca, kullanıcı arayüzünün bir kısmını yüklemeniz gerektiğinde veya XML verilerini bağlamak istediğinizde de size yardımcı olur.
- Üzerine inşa edildiği için geniş .NET sınıf kitaplığından yararlanmanıza olanak tanır .NET teknolojisi
- Çözünürlük bağımsızlığı sayesinde WMF kullanılarak geliştirilen uygulamalar mobil cihazlarda veya 20 inçlik bir monitörde çalıştırılabilir
- WPF, WinAPI yerine DirectX üzerine kuruludur. İstemci bilgisayarın grafik sistemini sunar. Bu nedenle daha fazla grafik oluşturma gücü sunar
- Mizanpajın "masaüstü yayınlama" kalitesini mümkün kılan bir akış belgesi modelini destekler
- Görünüm ve davranış gevşek bir şekilde birbirine bağlıdır. Bu, tasarımcıların ve geliştiricilerin iki ayrı model üzerinde çalışmasına olanak tanır
- WMF çerçevesinde, kodu ayrıştırmak yerine basit XML belgelerindeki araçları grafiksel olarak tasarlayabilirsiniz.
- Daha iyi performans için GUI'yi çizerken donanım hızlandırmayı kullanmanıza olanak tanır
WPF'nin Tarihçesi
Windows 1.0, ilk GUI ortamıydı. Microsoft. Grafik ve kullanıcı arayüzü için GDI ve USER sistemlerine dayalı olarak DOS'un üzerinde bir katman olarak çalışır.
DirectX, 1995 yılında yüksek performanslı bir grafik sistemi olarak piyasaya sürüldü. Oyunlara ve grafikle ilgili diğer ortamlara yönelikti. Yıllar geçtikçe Directx9 ile mange.Net koduyla kullanılacak bir kitaplık sağlayan birçok sürüm yayınlandı.
WPF sürümü | Çıkış tarihi | .Net Sürümü | Visual Studio Sürümü | Özellikler |
---|---|---|---|---|
3.0 | 2006 | 3.0 | N / A | İlk sürüm. Ancak WPF geliştirmesi VS 2005 ile yapılabilir. |
3.5 | 2007 | 3.5 | 2008'e Karşı | Değişiklikler ve iyileştirmeler: Uygulama modeli, bağlama, kontroller, belgeler, açıklamalar ve 3-D Ul öğeleri. |
3.5 SP1 | 2008 | 3.5 SP1 | N / A | Yerel açılış ekranı desteği. Yeni web tarayıcı kontrolü, DirectX piksel gölgelendirici desteği. |
4.0 | 2010 | 4.0 | 2010'e Karşı | Yeni kontroller: Takvim. DataGrid, DatePicker. Çoklu Dokunma ve Manipülasyon |
4.5 | 2012 | 4.5 | 2012'e Karşı | Bitmap efektleri için daha hızlı kurulum süresi ve geliştirilmiş performans. Yeni kontroller: Takvim. DataGrid, DatePicker. Çoklu Dokunma ve Manipülasyon |
4.5.1 | 2013 | 4.5.1 | 2013'e Karşı | Yeni Şerit kontrolü Yeni INotifyDataErrorlnfo arayüzü |
4.5.2 | 2014 | 4.5.2 | NA | Büyük Değişiklik Yok Büyük Değişiklik Yok |
4.6 | 2015 | 4.6 | 2015'e Karşı | Şeffaf alt pencere desteği HDPI ve Dokunmatik iyileştirmeler |
WPF 5.0.6'nın Nisan 2021'de yayımlanan en son kararlı sürümü.
WPF'nin özellikleri

- Belgeler ve Yazdırma
- Güvenlik, Erişilebilirlik ve Yerelleştirme
- Birlikte Çalışabilirlik Sunar Windows Form kontrolleri
- Direct3D, performansın önemli olduğu grafik uygulamalarında kullanılır
- İşleme için video kartı donanımını kullanır
- Vektör tabanlı grafikler, uygulamanızı kalite kaybı olmadan ölçeklendirmenize olanak tanır
- WPF, kayan nokta mantıksal piksel sistemini ve 32 bit ARGB rengini destekler
- Stilleri ve Kontrol Şablonlarını Yeniden Tanımlayın
- Bileşik yazı tiplerinden uluslararası yazı tipleri oluşturma
- WPF metin oluşturma, ClearType teknolojisinden yararlanmanıza yardımcı olur
- Video belleğinde önceden oluşturulmuş metni önbelleğe alma tekniğini kullanmanızı sağlar
- Her kontrol için kaynak bazlı yaklaşım
- Sunum zamanlayıcıları WPF tarafından başlatılır ve yönetilir
- Video ve animasyon arasındaki ilişki de desteklenmektedir
- WPF'de stil, görsel oluşturma için kullanılan içeriğe uygulanması gereken bir dizi özelliktir.
- WPF'deki şablonlar belgenizin Ul'unu değiştirmenize yardımcı olur
- Komutlar olayların daha soyut ve gevşek bağlı versiyonlarıdır
- Komutlar için WPF desteği yazmamız gereken kod miktarını azaltır
Bu WPF'de bir sonraki adım C# öğreticisiWPF çekirdek türleri ve Altyapısı hakkında bilgi edineceğiz.
WPF Çekirdek Türleri ve Altyapıları
WPF'deki sınıflar dört farklı türe ayrılır:
- UIElement
- Çerçeve Öğesi
- İçerik Öğesi
- ÇerçeveİçerikÖğesi
Bu sınıflar temel eleman sınıfları olarak bilinir. Kullanıcı arayüzleri oluşturma modelinin temelini oluşturur.
WPF kullanıcı arayüzleri bir ağaç hiyerarşisinde bir araya getirilen öğelerden oluşur. Buna element ağacı denir. Öğe ağacı, kullanıcı arayüzünü düzenlemenin sezgisel bir yoludur. Güçlü UI servislerinin özelliğini elde etmenizi sağlayan bir yapıdır.
XAML
“XAML” veya “zammel” olarak adlandırılan Genişletilebilir Uygulama İşaretleme Dili, kullanıcı arayüzlerini tanımlamanın bildirimsel bir yoludur.
Basit bir düğmenin XAML tanımı şöyledir:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
XAML dilini kullanmanın avantajı:
- XAML, ön uç görünümünü arka uç mantığından ayırıyor
- XAML, kullanıcı arayüzlerini temsil etmenin en kolay yöntemidir
- XAML araçlarla etkili bir şekilde çalışır
Kontroller
WPF çerçevesi aşağıdakiler gibi birçok yararlı kontrolü destekler:
- Metin gibi kontrolleri düzenlemeBox, Kontrol etmekBox, Radyo düğmesi
- Liste gibi liste kontrolleriBox, Liste Görünümü, Ağaç Görünümü
- Label, WPF ProgressBar, ToolTip gibi kullanıcı bilgileri
- Menü, Düğme ve Araç Çubuğu gibi eylemler
- Border, WPF Image ve Viewbox gibi görünümler
- OpenFileDialog ve PrintDialog gibi yaygın iletişim kutuları.
- TabContro, ScrollBar ve Group gibi kapsayıcılarBox
- DocPanel, StackPanel ve Grid gibi düzenler
- Çerçeve ve Köprü gibi Gezinme
Kontrollerin görünümü, programlamaya gerek kalmadan stiller ve şablonlarla özelleştirilebilir. Uygun bir temel sınıftan yeni bir sınıf türeterek de özel bir kontrol oluşturabilirsiniz.
Görünüm
WPF, uygulamanızın görünümünü özelleştirmeye yönelik bir özellik sağlar. Yazı tipleri, arka planlar vb. gibi şeyler için nesneleri ve değerleri ayarlamanıza olanak tanır.
Stiller özelliği, ürünün tamamı için belirli bir görünümü standartlaştırmanıza olanak tanır. Varsayılan davranışını korurken varsayılan görünümü değiştirmenize olanak tanır.
Veri şablonu, bağlı verilerin varsayılan görselleştirmesini denetlemenize olanak tanır. Temaların yardımıyla işletim sistemindeki stilleri kolayca görselleştirebilirsiniz.
Düzen ve Paneller
Düzen, doğru konumlandırma ve boyutlandırma kontrolünde size yardımcı olur. Kullanıcı için sunumun oluşturulması sürecinin bir parçasıdır. WPF çerçevesi, düzen sürecini kolaylaştırır ve kullanıcı arayüzü görünümünün daha iyi uyarlanabilirliğini sunar.
Düzen altyapısı çeşitli sınıflar tarafından sunulmaktadır: 1) StackPanel 2)DockPanel 3) WrapPanel 4) Grid ve 5) Canvas
Grafik
WPF, aşağıdaki gibi gelişmiş bir grafik sistemi sağlar:
- WPF, cihazdan bağımsız birimler kullanarak çözünürlük ve cihaz bağımsızlığını mümkün kılar. Bu nedenle cihazdan bağımsız olan her piksel, inç başına nokta ayar sistemiyle otomatik olarak ölçeklenir.
- WPF, float yerine double kullanır ve daha geniş bir renk dizisini destekler
- WPF grafik motoru, mevcut olduğunda grafik donanımından yararlanabilecek şekilde tasarlanmıştır.
Belgeler ve Yazdırma
WPF çerçevesi üç tür belge sunar:
- Sabit belgeler: Bu belge türü WY'yi desteklerSIWYG'nin sunumu.
- Akış belgeleri: İçeriği pencere boyutu ve cihaz çözünürlüğü gibi çalışma zamanı değişkenlerine göre ayarlamanıza ve yeniden akışlandırmanıza olanak tanır.
- XPS belgeleri: Elektronik kağıdın XML tabanlı formatta sayfalandırılmış bir temsilidir. XPS açık kaynaklı ve platformlar arası bir belge formatıdır.
WPF, yazdırma sistemi üzerinde daha iyi kontrol sağlar. Uzaktan yazdırmayı ve kuyrukları içerir. Üstelik XPS belgeleri, baskı formatına dönüştürülmeden doğrudan yazdırılabilir.
WPF Archidoku
WPF, .NET framework'ünün bir parçasıdır. Hem yönetilen hem de yönetilmeyen kod içerir. WPF mimarisinin önemli bileşenleri aşağıdaki şekilde açıklanmıştır:

WPF mimarisinin bileşenleri
- PresentationFramework: Kontroller, stiller, düzen, pencereler vb. gibi üst düzey öğeleri oluşturmanıza yardımcı olur.
- PresentationCore: Tüm Kontrollerden UIElement, Visual gibi temel türleri tutar ve SunumFramework.dll'de türetilmiş şekillerdir.
- CLR: Gibi özellikler sunarak geliştirme sürecini verimli hale getirir. bellek yönetimi, hata yönetimi vb.
- Milcore: Milcore, DirectX ile sıkı entegrasyon sunan yönetilmeyen kodun bir parçasıdır.
- DirectX: WPF'nin grafiklerinin oluşturulmasına izin veren düşük seviyeli API'dir. DirectX konuşmaları sürücülerle etkileşime girer ve içeriği işler.
- Kullanıcı32: Birçok program tarafından yaygın olarak kullanılan temel bir API'dir. Belleği ve süreç ayrımını yönetir. User32, hangi öğenin ekranın neresine yerleştirileceğine karar vermenize yardımcı olur.
- Çekirdek: Giriş, çekirdek modu aygıt sürücüsünde bir sinyal olarak kaynaklanır ve doğru işleme yönlendirilerek Windows çekirdek ve User32.
WPF Kurulumu
WPF'yi yüklemek için bu bağlantıya bakın https://www.guru99.com/download-install-visual-studio.html
Bu WPF uygulama eğitiminin bir sonraki bölümünde ilk WPF'mizi oluşturacağız.
İlk WPF Uygulamanızı Nasıl Oluşturursunuz?
Bu WPF örneğinde, basit bir WPF uygulaması geliştireceğiz. O halde, aşağıdaki WPF uygulama örneklerinde verilen adımları izleyerek basit uygulamaya başlayalım.
) 1 Adım Visual Studio'da Dosya > Proje'ye gidin
) 2 Adım Yeni proje penceresinde
- WPF Uygulamasını seçin
- Adı “MyWPF” olarak girin
- Tamam'ı tıklayın.
) 3 Adım Visual Studio varsayılan olarak iki dosya oluşturur
- XAML Dosyası (MainWindow.xaml)
- CS Dosyası (MainWindow.xaml.cs)
MainWindow.xaml'de
- Bir Tasarım Penceresi
- XAML Dosyası
XAML pencerelerinde, varsayılan olarak aşağıdaki etiketler yazılır
Izgara varsayılan olarak ilk öğedir.
MainWindow.xaml.cs, XAML tasarım dosyasının arkasında karşılık gelen kodu içerir
) 4 Adım Araç kutusunda,
- Metni SürükleBox tasarım penceresine öğe
- Bir metinBox tasarım penceresinde görünecek
- Metin için XAML kodunu göreceksinizBox katma
) 5 Adım Metni “İlk WPF Programı” olarak değiştirin.
) 6 Adım Başlat Düğmesine tıklayın
) 7 Adım Çıkışta bir Pencere göreceksiniz
Tebrikler! İlk WPF uygulamanızı tasarladınız ve oluşturdunuz. Yeni başlayanlar için bu WPF eğitiminde bir sonraki adımda, WPF ve WinForms arasındaki farkı göreceğiz.
WPF ve WinForms
WPF | WinFormlar |
---|---|
Daha yeni bir çerçeve olduğundan mevcut standartlarla daha uyumludur. | Daha eski olduğundan daha çok denenmiş ve test edilmiştir. |
Esnektir ve zengin özelliklere sahiptir. Kodlama veya kontrol satın almadan çok zengin uygulamalar tasarlayabilirsiniz. | Çok zengin özelliklere sahip değil |
3'ün geliştiricilerird Parti kontrolleri, gelecek olduğundan WPF ile uyumluluğa odaklanmıştır. | Ücretsiz olarak satın alabileceğiniz veya alabileceğiniz birçok üçüncü taraf kontrolü vardır. |
XAML, GUI'nizi kolayca oluşturmanıza ve düzenlemenize olanak tanır. İşin bir tasarımcı (XAML) ve bir programcı (C#, ASP.net vb.) arasında bölünmesine olanak tanır. | In Windows Tek bir yerde yazılan tüm kodları oluşturur. |
WPF her ikisi için de kullanıcı arayüzleri oluşturabilir Windows Silverlight ve XBAP gibi uygulamalar ve web uygulamaları. | Yok böyle bir destek |
WPF'nin kutu içi kontrol paketi sınırlıdır | Kutudaki kontroller çok güçlü |
WPF ile oluşturulan Uygulama Türleri
- WPF, web formlarını ve Windows formlarını değiştirmeye çalışıyor; uygulamalar bir tarayıcıda veya bağımsız bir pencerede çalışacak şekilde oluşturulabilir
- Windows Formlar ve WPF sayfaları aynı uygulamada bir arada bulunabilir
- Sayfa/pencere uygulamaları geliştirebilirsiniz
Hızlı rehber
- WPF'nin tam formu Windows Sunum Foundation
- Çeşitli medya türleriyle uğraşmanız gerekiyorsa kullanmak için ideal bir platformdur
- Windows 1.0, ilk GUI ortamıydı. Microsoft DOS üzerinde çalışan ve GDI ve USER sistemlerine güvenen
- .NET'teki WPF, ile Birlikte Çalışabilirlik sunar Windows Form kontrolleri
- WPF, UIElement, FrameworkElement ContentElement ve FrameworkContentElement gibi dört farklı türe ayrılmıştır
- WPF mimarisinin en önemli bileşenleri PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 ve Kernel'dir
- WPF, WinForms'a kıyasla daha yeni bir çerçevedir, bu nedenle güncel standartlarla daha uyumludur
- Windows Formlar ve WPF sayfaları aynı uygulamada bir arada bulunabilir