Bu serinin ilk kısmı Windows modüllerini tedavi ettikten sonra, şimdi Windows Sunum Vakfı (WPF) ve Windows 3 Kullanıcı Arayüzü kitaplığıdır (Winui 3). Her iki GUI çerçevesi XAML'ye (uygulamanın geniş işaretleme dili) dayanmaktadır. XAML, XML'ye dayalı bir işaretleme dilidir. Yapısal açıklamayı, içeriği, düzenini, tasarımını, dönüşümleri ve animasyonları tek bir dilde birleştirir – bu becerilerin HTML ve CSS arasında bölündüğü, ancak bazen karışık (ve bazı durumlarda JavaScript de XAML ile aynı sonuçları elde etmek için gereklidir).
Holger Schwichtenberg, Maximago yazılımının geliştirilmesinde baş teknoloji uzmanıdır. Www.it- visionions.de'deki uzman ekibi ile Microsoft, Java ve Web Teknikleri alanında ayrıca tavsiye ve eğitim sunmaktadır. Uzman konferanslarda dersler tutar ve çok sayıda uzman kitabın yazarıdır.
XAML, bireysel .NET nesnelerinin ve nesnelerin tüm ağaçlarının XML formunda ifade edilebileceği XML bazlı bir dildir. WPF içinde bu, <TextBlock>,, <TextBox>,, <Button>,, <ListBox>,, <ToolTip>,, <Line>,, <Polygon>,, <MediaElement> ve diğerleri kullanıldı. Elemanlar, örneğin düzenlemeyi belirleyen kapların parçalarıdır. <Canvas>,, <Grid>,, <DockPanel> VE <Frame>.
Her XAML öğesi için aynı ada sahip bir .NET sınıfı vardır. Bu nedenle XAML yüzeyleri, oldukça nadir olan ve genellikle sadece grafik yüzeyleri sadece dinamik olarak olan metavat verilerine dayanan uygulamalarda meydana gelen kodda da oluşturulabilir.
(Resim: Coffeemill/123rf.com)
Sonraki LTS çıktısı devam ediyor: BetterCode Online Konferansı () .NET 10.0'da IX ve DPunkt.verlag tarafından düzenlenen 18 Kasım 2025'te IT-visions.de-Sesler Bu makalenin yazarı Dr. Holger Schwichtenberg ve diğer uzmanlar en önemli yenilikler. Bunlar.
Çevrimiçi mağazada indirimli kör kuş biletleri zaten mevcut olana kadar program henüz yayınlanmadı. Bir önceki yılın programı arşivde görüntülenebilir.
Windows Sunum Vakfı (WPF)
Windows Sunum Vakfı (WPF, eski bir kod adı: Avalon) 2006 yılında .NET Framework 3.0'da tanıtıldı ve .NET Core 3.0'dan Windows modülleri gibi Modern .NET'de de mevcuttur. WPF'deki XAML denetimleri için .NET sınıfları, System.
Tıpkı Windows Forms gibi, WPF de Visual Studio'da XAML kodu oluşturan güçlü bir Wysiwyg tasarımcısına sahiptir. Birçok WPF geliştiricisi, tasarımcıyı kullanmak yerine doğrudan Tag XAML öğesini tercih eder, çünkü klavyeden fareden daha üretkendirler.
WPF tasarımcısında Windows modüllerinde olduğu kadar uygulamaların konumu o kadar kolay değil. Visual Studio Designer'a ek olarak, başlangıçta 2007'den bağımsız bir program olan WPF ile Blend ile özel bir tasarım aracı var. İlk olarak İfade Etkileşimli Tasarımcı, ardından Microsoft Expression Blend olarak adlandırıldı. 2012'den beri sadece Visual Studio'daki entegre karışımdı (Visual Studio için Microsoft Blend).
Windows formlarının aksine WPF, geliştirme ortamında canlı bir vizyon sunar ve debauggain sırasında sıcak şarj sunar veya geliştiriciler çıkışlar sırasında yüzeyi değiştirebilir ve bitiş ve yeniden başlatmak zorunda kalmadan mevcut uygulamadaki değişiklikleri doğrudan görebilir.
WPF, yüzey açıklaması ile program kodu arasında iyi bir ayrım sağlar. Bu amaçla, Model View -wmodel (MVVM) adıyla model ekran denetleyici modelinin değiştirilmiş bir versiyonu oluşturulmuştur. Windows modüllerinde belirtildiği gibi, Windows modüllerindeki bazı yerlerde MVVM mümkündür. Bununla birlikte, WPF veritabanının olanakları, pencerelerin biçimindeklerinden açıkça daha yüksektir; WPF'de, genişletilebilir dönüştürücü de dahil olmak üzere her bir çekin tüm özellikleri için bir bildirim veritabanı vardır. GUI'nin diğer öğelerine veya herhangi bir veri kaynağına .NET nesneleri türü şeklinde bağlamak mümkündür.
Buna ek olarak, bir kullanıcı arayüzünün tasarımının ayarlanması WPF'de Windows modüllerinden önemli ölçüde daha kolaydır, çünkü tüm XAML kontrolleri birleştirilebilir (örneğin, bir kontrol kutusu bir seçim alanının bir parçası olabilir veya video arka planı bir giriş alanında gerçekleştirilebilir), stiller aracılığıyla uyarlayın ve ayrıca kontrol modelinden yeniden tasarlayın. SO olarak adlandırılan kaynak sözlüklerinin stilleri ve kontrol modeli, bunları çeşitli WPF kontrolleri için kullanmak için merkezi olarak tanımlanabilir. Bu, geliştiricilerin örneğin, herkesin TextBox-Bir pencerenin veya tüm WPF uygulamasının elemanları tamamen aynı görünüyor.
Buna ek olarak, reaktif tasarım veya farklı ekran boyutu ve çözünürlükleri ile bir kullanıcı arayüzünün ayarlanması, WPF ile Windows modüllerinden daha kolay uygulanabilir. WPF, taşıyıcı tabanlı oluşturma işlemini kullanır. Bu nedenle, genişleme fonksiyonlarına (Zoom) sahip uygulamalar veya farklı monitör boyutunda kullanılabilecek uygulamalar çok kolay oluşturulabilir. Ancak, WPF SVG entegrasyonu sunmaz. Bunun için SharpVectors adlı bir topluluk projesine ihtiyacınız var. WPF, herhangi bir yüzey elemanının dönüşümleri ve animasyonu için entegre destek sunar. WPF Inputu elemanları dil ve kalemle seslere izin verir.
.NET 9.0'dan Microsoft, WPF uygulamalarının akan Windows 11 akan tasarımını (ayrıca Windows 10'da) alabileceği bir kaynak sözlüğü sağlamıştır. WPF uygulamaları Windows Form uygulamaları olarak daha modern bir görünüme sahiptir; Akıcı tasarım WPF optik kurşununu artırmaya devam ediyor. WPF ile Microsoft, Windows'taki tasarım ve kullanıcı deneyimi konularını önemli ölçüde teşvik etti.
Şekil 1'de görülebileceği gibi, akan tasarımın yüzeyi (merkezi ve sağ) klasik WPF tasarımından (solda) çok daha modern görünmektedir. Bununla birlikte, tüm metin artık okunmadığı ve liste çok büyük bir mesafeye sahip olduğundan, değiştirilmiş standart boyutlar nedeniyle yüzeydeki değişiklikler artık gereklidir. Doğru versiyonda, boyutlar ve mesafeler bu nedenle manuel olarak düzeltildi.
Klasik WPF tasarımı (solda) akan tasarımdaki WPF (merkezi ve sağ) (Şekil 1).
(Resim: Holger Schwichtenberg)
WPF, Microsoft DirectX teknolojisine göre hızlandırılmış donanım oluşturur (DirectX sürüm 9; Modern .NET kısmen WPF DirectX 11'de kullanılır). Bununla birlikte, WPF uygulamaları genellikle doğrudan işletim sisteminin API'sına bağlanan Windows şekilli bir muadili gerçekleştirilmemektedir; WPF bile bir taşıyıcıdır.
WPF ve XAML, Microsoft tarafından yalnızca Windows Classic Company uygulamaları için GUI Framework olarak oluşturulmadı, aynı zamanda multimedya ve 3D uygulamalara, belgelerin (açık XML kağıt spesifikasyon-xps) ve tarayıcı tabanlı uygulamalar (XAML tarayıcı uygulama-BAP) sunulmasına izin verir. WPF belgeler ve tarayıcı için geçerli değildi. XBAP artık modern .NET'te mevcut değil. Oda System.windows.xps hala kullanılabilir. XBAP kaybına ek olarak klasik .NET ve modern çerçevede WPF arasında neredeyse hiçbir fark olmadığından, WPF yüzeylerinin en son sürümdeki geçişi çok az çaba gerektirir.
WPF birçok durumda bazı kontroller sağlar. Dahil edilen kontrollere genel bir bakış, Windows Store'da bulunan WPF “WPF Galerisi” uygulamasında mevcuttur (bkz. Şekil 2). Windows modüllerine gelince, burada üçüncü taraf sağlayıcılarından daha yüksek kalite kontrolleri satın almanız gerektiği de geçerlidir (bkz. Tablo 1). Bununla birlikte, bir şerit kontrolü esasen WPF'ye, system.windows.contols.ribbon sınıfına dahil edilmiştir.
Windows Store'dan WPF Galeri Uygulaması (Şekil 2)
(Resim: Holger Schwichtenberg)
Tablo 1: GUI -Seçilmiş GUI Bileşenleri WPF için Tedarikçiler
WPF'nin kalınlığı nedeniyle, yeni başlayanlar için WPF için öğrenme çabası pencerelerin formlarından daha büyüktür.
WPF, en son modern ENET versiyonlarında Windows modüllerinden önemli ölçüde daha düşük bir yenilik aldı. Çoğu zaman, iyileştirmeler sadece performans ve erişilebilirlik alanlarındaydı. .NET 6.0'dan beri WPF uygulamaları (Windows modülleri gibi) Windows ARM64 sistemlerinde de olmuştur. Yalnızca .NET 8.0'da Microsoft, yıllar boyunca uzak masaüstü için WPF uygulamalarını kullanmayı zorlaştıran ciddi bir WPF problemini çözdü: şimdiye kadar, yazılımın (CPU) oluşturulması, uzak masaüstü protokolüne (RDP) bağlantılar için standart olmuştur. Yalnızca .NET 8.0'dan bir yapılandırma öğesinden GPU tabanlı donanım oluşturma açılabilir. .NET 8.0'da Microsoft ayrıca sınıfa sahip OpenFolderDialog entegre. 12 Kasım 2024'te Windows 10 ve 11'in karanlık moduna destek de dahil olmak üzere akan tasarımla (yukarıda belirtilen) yayınlanan .NET 9.0'da WPF için üçüncü daha büyük bir yenilik vardı.
Bu arada, WPF ve önceki teknikler entegre edilebilir: Win32'ye birlikte çalışabilirlik yüklenir ve Windows Forms kullanıcı arayüzleri veya WPF uygulamaları Windows veya Win32 şeklinde kontrol öğeleri içerebilir. Aksine, bir WPF kontrolü Win32 veya Windows penceresine entegre edilebilir. Kurulum sırasında Windows modülleriyle aynı seçenekler vardır.
Tıpkı Windows'un formları gibi, WPF medyada defalarca öldü, örneğin DotNetpro dergisinde, 5/2023 sayısı:
WPF kurulur ve gösterilir. Bu nedenle, WPF birçok .NET uygulamasında kullanılır ve WPF ile her zaman yeni uygulamalar vardır. Ancak, WPF'de neredeyse hiç Windows modülleri geliştirme ekibi değişmiyor. Birincisi, üçüncü taraf tedarikçilerinin kitaplıkları olan geliştiriciler de pencere biçimlerinde çok şey alabilir ve ikincisi WPF'nin gelecekteki perspektifi pencerelerin biçimlerine benzer, yani sadece küçük iyileştirmeler olduğu, ancak artık önemli yenilikler olmadığı anlamına gelir.

Holger Schwichtenberg, Maximago yazılımının geliştirilmesinde baş teknoloji uzmanıdır. Www.it- visionions.de'deki uzman ekibi ile Microsoft, Java ve Web Teknikleri alanında ayrıca tavsiye ve eğitim sunmaktadır. Uzman konferanslarda dersler tutar ve çok sayıda uzman kitabın yazarıdır.
XAML, bireysel .NET nesnelerinin ve nesnelerin tüm ağaçlarının XML formunda ifade edilebileceği XML bazlı bir dildir. WPF içinde bu, <TextBlock>,, <TextBox>,, <Button>,, <ListBox>,, <ToolTip>,, <Line>,, <Polygon>,, <MediaElement> ve diğerleri kullanıldı. Elemanlar, örneğin düzenlemeyi belirleyen kapların parçalarıdır. <Canvas>,, <Grid>,, <DockPanel> VE <Frame>.
Her XAML öğesi için aynı ada sahip bir .NET sınıfı vardır. Bu nedenle XAML yüzeyleri, oldukça nadir olan ve genellikle sadece grafik yüzeyleri sadece dinamik olarak olan metavat verilerine dayanan uygulamalarda meydana gelen kodda da oluşturulabilir.

(Resim: Coffeemill/123rf.com)
Sonraki LTS çıktısı devam ediyor: BetterCode Online Konferansı () .NET 10.0'da IX ve DPunkt.verlag tarafından düzenlenen 18 Kasım 2025'te IT-visions.de-Sesler Bu makalenin yazarı Dr. Holger Schwichtenberg ve diğer uzmanlar en önemli yenilikler. Bunlar.
Çevrimiçi mağazada indirimli kör kuş biletleri zaten mevcut olana kadar program henüz yayınlanmadı. Bir önceki yılın programı arşivde görüntülenebilir.
Windows Sunum Vakfı (WPF)
Windows Sunum Vakfı (WPF, eski bir kod adı: Avalon) 2006 yılında .NET Framework 3.0'da tanıtıldı ve .NET Core 3.0'dan Windows modülleri gibi Modern .NET'de de mevcuttur. WPF'deki XAML denetimleri için .NET sınıfları, System.
Tıpkı Windows Forms gibi, WPF de Visual Studio'da XAML kodu oluşturan güçlü bir Wysiwyg tasarımcısına sahiptir. Birçok WPF geliştiricisi, tasarımcıyı kullanmak yerine doğrudan Tag XAML öğesini tercih eder, çünkü klavyeden fareden daha üretkendirler.
WPF tasarımcısında Windows modüllerinde olduğu kadar uygulamaların konumu o kadar kolay değil. Visual Studio Designer'a ek olarak, başlangıçta 2007'den bağımsız bir program olan WPF ile Blend ile özel bir tasarım aracı var. İlk olarak İfade Etkileşimli Tasarımcı, ardından Microsoft Expression Blend olarak adlandırıldı. 2012'den beri sadece Visual Studio'daki entegre karışımdı (Visual Studio için Microsoft Blend).
Windows formlarının aksine WPF, geliştirme ortamında canlı bir vizyon sunar ve debauggain sırasında sıcak şarj sunar veya geliştiriciler çıkışlar sırasında yüzeyi değiştirebilir ve bitiş ve yeniden başlatmak zorunda kalmadan mevcut uygulamadaki değişiklikleri doğrudan görebilir.
WPF, yüzey açıklaması ile program kodu arasında iyi bir ayrım sağlar. Bu amaçla, Model View -wmodel (MVVM) adıyla model ekran denetleyici modelinin değiştirilmiş bir versiyonu oluşturulmuştur. Windows modüllerinde belirtildiği gibi, Windows modüllerindeki bazı yerlerde MVVM mümkündür. Bununla birlikte, WPF veritabanının olanakları, pencerelerin biçimindeklerinden açıkça daha yüksektir; WPF'de, genişletilebilir dönüştürücü de dahil olmak üzere her bir çekin tüm özellikleri için bir bildirim veritabanı vardır. GUI'nin diğer öğelerine veya herhangi bir veri kaynağına .NET nesneleri türü şeklinde bağlamak mümkündür.
Buna ek olarak, bir kullanıcı arayüzünün tasarımının ayarlanması WPF'de Windows modüllerinden önemli ölçüde daha kolaydır, çünkü tüm XAML kontrolleri birleştirilebilir (örneğin, bir kontrol kutusu bir seçim alanının bir parçası olabilir veya video arka planı bir giriş alanında gerçekleştirilebilir), stiller aracılığıyla uyarlayın ve ayrıca kontrol modelinden yeniden tasarlayın. SO olarak adlandırılan kaynak sözlüklerinin stilleri ve kontrol modeli, bunları çeşitli WPF kontrolleri için kullanmak için merkezi olarak tanımlanabilir. Bu, geliştiricilerin örneğin, herkesin TextBox-Bir pencerenin veya tüm WPF uygulamasının elemanları tamamen aynı görünüyor.
Buna ek olarak, reaktif tasarım veya farklı ekran boyutu ve çözünürlükleri ile bir kullanıcı arayüzünün ayarlanması, WPF ile Windows modüllerinden daha kolay uygulanabilir. WPF, taşıyıcı tabanlı oluşturma işlemini kullanır. Bu nedenle, genişleme fonksiyonlarına (Zoom) sahip uygulamalar veya farklı monitör boyutunda kullanılabilecek uygulamalar çok kolay oluşturulabilir. Ancak, WPF SVG entegrasyonu sunmaz. Bunun için SharpVectors adlı bir topluluk projesine ihtiyacınız var. WPF, herhangi bir yüzey elemanının dönüşümleri ve animasyonu için entegre destek sunar. WPF Inputu elemanları dil ve kalemle seslere izin verir.
.NET 9.0'dan Microsoft, WPF uygulamalarının akan Windows 11 akan tasarımını (ayrıca Windows 10'da) alabileceği bir kaynak sözlüğü sağlamıştır. WPF uygulamaları Windows Form uygulamaları olarak daha modern bir görünüme sahiptir; Akıcı tasarım WPF optik kurşununu artırmaya devam ediyor. WPF ile Microsoft, Windows'taki tasarım ve kullanıcı deneyimi konularını önemli ölçüde teşvik etti.
Şekil 1'de görülebileceği gibi, akan tasarımın yüzeyi (merkezi ve sağ) klasik WPF tasarımından (solda) çok daha modern görünmektedir. Bununla birlikte, tüm metin artık okunmadığı ve liste çok büyük bir mesafeye sahip olduğundan, değiştirilmiş standart boyutlar nedeniyle yüzeydeki değişiklikler artık gereklidir. Doğru versiyonda, boyutlar ve mesafeler bu nedenle manuel olarak düzeltildi.

Klasik WPF tasarımı (solda) akan tasarımdaki WPF (merkezi ve sağ) (Şekil 1).
(Resim: Holger Schwichtenberg)
WPF, Microsoft DirectX teknolojisine göre hızlandırılmış donanım oluşturur (DirectX sürüm 9; Modern .NET kısmen WPF DirectX 11'de kullanılır). Bununla birlikte, WPF uygulamaları genellikle doğrudan işletim sisteminin API'sına bağlanan Windows şekilli bir muadili gerçekleştirilmemektedir; WPF bile bir taşıyıcıdır.
WPF ve XAML, Microsoft tarafından yalnızca Windows Classic Company uygulamaları için GUI Framework olarak oluşturulmadı, aynı zamanda multimedya ve 3D uygulamalara, belgelerin (açık XML kağıt spesifikasyon-xps) ve tarayıcı tabanlı uygulamalar (XAML tarayıcı uygulama-BAP) sunulmasına izin verir. WPF belgeler ve tarayıcı için geçerli değildi. XBAP artık modern .NET'te mevcut değil. Oda System.windows.xps hala kullanılabilir. XBAP kaybına ek olarak klasik .NET ve modern çerçevede WPF arasında neredeyse hiçbir fark olmadığından, WPF yüzeylerinin en son sürümdeki geçişi çok az çaba gerektirir.
WPF birçok durumda bazı kontroller sağlar. Dahil edilen kontrollere genel bir bakış, Windows Store'da bulunan WPF “WPF Galerisi” uygulamasında mevcuttur (bkz. Şekil 2). Windows modüllerine gelince, burada üçüncü taraf sağlayıcılarından daha yüksek kalite kontrolleri satın almanız gerektiği de geçerlidir (bkz. Tablo 1). Bununla birlikte, bir şerit kontrolü esasen WPF'ye, system.windows.contols.ribbon sınıfına dahil edilmiştir.

Windows Store'dan WPF Galeri Uygulaması (Şekil 2)
(Resim: Holger Schwichtenberg)
Tablo 1: GUI -Seçilmiş GUI Bileşenleri WPF için Tedarikçiler
WPF'nin kalınlığı nedeniyle, yeni başlayanlar için WPF için öğrenme çabası pencerelerin formlarından daha büyüktür.
WPF, en son modern ENET versiyonlarında Windows modüllerinden önemli ölçüde daha düşük bir yenilik aldı. Çoğu zaman, iyileştirmeler sadece performans ve erişilebilirlik alanlarındaydı. .NET 6.0'dan beri WPF uygulamaları (Windows modülleri gibi) Windows ARM64 sistemlerinde de olmuştur. Yalnızca .NET 8.0'da Microsoft, yıllar boyunca uzak masaüstü için WPF uygulamalarını kullanmayı zorlaştıran ciddi bir WPF problemini çözdü: şimdiye kadar, yazılımın (CPU) oluşturulması, uzak masaüstü protokolüne (RDP) bağlantılar için standart olmuştur. Yalnızca .NET 8.0'dan bir yapılandırma öğesinden GPU tabanlı donanım oluşturma açılabilir. .NET 8.0'da Microsoft ayrıca sınıfa sahip OpenFolderDialog entegre. 12 Kasım 2024'te Windows 10 ve 11'in karanlık moduna destek de dahil olmak üzere akan tasarımla (yukarıda belirtilen) yayınlanan .NET 9.0'da WPF için üçüncü daha büyük bir yenilik vardı.
Bu arada, WPF ve önceki teknikler entegre edilebilir: Win32'ye birlikte çalışabilirlik yüklenir ve Windows Forms kullanıcı arayüzleri veya WPF uygulamaları Windows veya Win32 şeklinde kontrol öğeleri içerebilir. Aksine, bir WPF kontrolü Win32 veya Windows penceresine entegre edilebilir. Kurulum sırasında Windows modülleriyle aynı seçenekler vardır.
Tıpkı Windows'un formları gibi, WPF medyada defalarca öldü, örneğin DotNetpro dergisinde, 5/2023 sayısı:
- “Şimdi, 2023'te kabul etmeliyiz: WPF görünüşe göre kaplamada.”
- “Microsoft tarafından canlı bir akış bu nedenle Şubat ayında tabutun gecikmesini aldı: WPF Microsoft'un geliştirilmesi ve tedavisi, konunun iki veya üç gelişmesinin yardımıyla gerçekleşmesi gereken Hindistan'daki Microsoft'un geliştiricileri merkezine dış kaynak edildi.”
- “Ama dürüstüz: WPF öldü! Mevcut durumda, kesinlikle on yıldan fazla bir süre daha fazla yaşıyor, ama artık değişmeyecek.”
WPF kurulur ve gösterilir. Bu nedenle, WPF birçok .NET uygulamasında kullanılır ve WPF ile her zaman yeni uygulamalar vardır. Ancak, WPF'de neredeyse hiç Windows modülleri geliştirme ekibi değişmiyor. Birincisi, üçüncü taraf tedarikçilerinin kitaplıkları olan geliştiriciler de pencere biçimlerinde çok şey alabilir ve ikincisi WPF'nin gelecekteki perspektifi pencerelerin biçimlerine benzer, yani sadece küçük iyileştirmeler olduğu, ancak artık önemli yenilikler olmadığı anlamına gelir.