WPF FORMLAR
Yazılım
projeleri, yoğun olarak katmansal yapıda inşa edilir. Bütün katmanlarda (veri
katmanı, iş katmanı vb) yapılagelen işlerinizde aldığınız tüm tasarım
kararlarının toplamını, sunum katmanında kullanıcı ile iletişime geçmek için
kullanırsınız.
WPF (Windows Presentation
Foundation) ‘in temeli, modern grafik donanımının avantajlarından yararlananmak
için oluşturulan, çözünürlükten bağımsız ve vektör tabanlı işleme altyapısıdır.
Önceleri kullanılan “WindowsForms”
kütüphanelerinden farklı “GDI+” yerine “DirectX” grafik kütüphanesini kullanır.
Daha çok bilgisayar oyunlarından hatırladığınız bu kütüphane sayesinde ekran
kartları sürücüleri daha etkin kullanılmakta ve daha hızlı görüntü işlemek
mümkün olmaktadır.
Temel anlamda bir form ve onu
oluşturan bileşenler resimde verildiği gibidir. Formlar WPF kontrolleri
arasında bulunur ve kullanıcı ile iletişimde bulunacak denetimleri kapsamakla
görevlidir.
WPF ile yapılan arayüz çalışmalarında
bu iki takım üyesinin birbirinden bağımsız çalışabilmesine olanak tanımak ve çalışma
ortamı verimliliğini arttırmak için tasarım kodu “XAML” ve arayüze işlevselliği
sağlayacak program kodu (C# veya VB) birbirinden ayrılmıştır.
WPF Uygulaması Oluşturma
Bir WPF uygulaması başlatmanız
oldukça basittir. Öncelikle uygulama geliştirme aracınız olan “Visual Studio”
programı içinde dosya (File) menüsünden yeni bir proje (New Project) açınız.
Ekrana gelen iletişim penceresinden “WPF Application” şablon seçimini yapınız,
projeniz için bir isim verip onaylayınız.
Öncelikle “Solution
Explorer ” penceresini incelediğinizde “App.xaml” ve “MainWindows.xaml”
dosyalarının oluşturulduğunuzu görebilirsiniz.
Uygulama
ile ilgili tanımlamaların yer aldığı “App.xaml” dosyası “XAML” biçimli
dosyadır. Uygulamayı çalıştırdığınızda , “App.xaml” içinde yer alan bildirimler
derleyici tarafından “Application” nesnesine dönüştürülür. Application
nesnesini işletim sistemi ile uygulama kodu arasındaki bir arayüz olarak da
düşünebilirsiniz.
WPF Form Özellikleri
WPF şablonu üzerinde bulunan
“MainWindows.xaml.cs” dosyasına ailt resimde gösterilen sınıf tanımı
incelediğinizde tasarımda bulunacağınız pencerenin “Windows” sınıfından
kalıtılmış olarak elde edildiğini görebilirsiniz.
“MainWindow” ile oluşturulmuş şablon
pencereniz “Windows” sınıfının tüm özelliklerini taşıyacaktır. Bu sayede gerek
“XAML” tarafında gerekse kod sayfasında değiştirilebilir, metotlarını
kullanarak davranışları uygulayabilir, olaylarını işleyerek kullanıcı ile
program kodunuzu iletişime geçirebilirsiniz.
Name: Tüm WPF kullanıcı denetimlerinin ortak özellikler arasındadır. Söz konusu nesnenin hafızada sahip olacağı isimdir.
Nesneler
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhddzQW4Q0p0f6uj9QsKnCU7Jh07GyrQOPcelGPK1ahq4B7cAAGlUZtnVOfP9SUS7F1y9pwC3BkeXipK73vkxlslqSqj4TnABRZQyG4R1xZvNsZKWD5JPdO-t74SCal90ey_6ZbocSGx0w/s1600/7.jpg)
Düğmeler: Bir eylemi yerine getirmek için tıklamak
suretiyle kullanılan denetimdir.
İletişim Kutuları: Yazdırma, dosya açma, kaydetme gibi standart kabul edilen pencerelerdir.
Dijital Mürekkep: InkCanvas ve InkPresenter uygulamalarınız içinde kullanıcının serbest çizim yapmasına olanak veren denetimlerdir.
Belgeler: Raporlama aracı olarak kullanılan belge tipleri ile aynı zamanda yazdırma hizmetini de sunar.
Giriş Kutuları: Kullanıcıdan bilgi almak amaçlı kullanılan denetimlerdir.
Düzen: Pencere içi yerleşimler düzen denetimleri tarafından yapılır.
Resim ve medya: Redim ve video görselleri pencere içinde kullanmanızı sağlar.
Menüler: Birden fazla komutu bir düzen yapısında sunan denetimlerdir.
Gezinme: Sayfa içi gezinti ve sayfa geçişleri amaçlı kullanılan denetimlerdir.
Seçim: Birden fazla seçim imkanı veya liste türü gösterimler için kullanılan denetimlerdir.
İletişim Kutuları: Yazdırma, dosya açma, kaydetme gibi standart kabul edilen pencerelerdir.
Dijital Mürekkep: InkCanvas ve InkPresenter uygulamalarınız içinde kullanıcının serbest çizim yapmasına olanak veren denetimlerdir.
Belgeler: Raporlama aracı olarak kullanılan belge tipleri ile aynı zamanda yazdırma hizmetini de sunar.
Giriş Kutuları: Kullanıcıdan bilgi almak amaçlı kullanılan denetimlerdir.
Düzen: Pencere içi yerleşimler düzen denetimleri tarafından yapılır.
Resim ve medya: Redim ve video görselleri pencere içinde kullanmanızı sağlar.
Menüler: Birden fazla komutu bir düzen yapısında sunan denetimlerdir.
Gezinme: Sayfa içi gezinti ve sayfa geçişleri amaçlı kullanılan denetimlerdir.
Seçim: Birden fazla seçim imkanı veya liste türü gösterimler için kullanılan denetimlerdir.
Kullanıcı Bilgileri: Bilgi göstermek amaçlı
kullanılan denetimler.
Nesne
Özellikleri
Kullanıcı
denetimleri, tasarım zamanında “XAML” tarafında statik olarak özellikleri
kullanılabilir. Bu sayede denetimleri uygulama arayüzü için
özelleştirebilirsiniz.
“XAML” ile bir nesnenin özellik
ataması sahip olduğu etiketler içinde yapılır.
Button:
Komut vermek için kullanılan düğmelerdir. “<Button …/>” etiketi ile tanımlanır.
Label: Bilgi
görüntülemek için kullanılan etiket türü denetimlerdir. “<Label…/>” etiketi
ile tanımlanır.
Textbox:
Bilgi girişinin yapılabildiği metin kutusudur.”<TextBox…/>” etiketi ile
tanımlanır.
ListBox:
Liste kutusudur. Liste türü yapıların gösterimi sağlar. Aynı zamanda
kullanıcının listeden seçim yapmasına olanak verir. “<ListBox>…</ListBox>” etiketleri
arasında tanımlanır.
Combobox:
Açılır liste kutusudur. “<ComboBox>…</ComboBox>” etiketleri arasında
tanımlanır.
RadioButton:
Seçenek düğmeleri, iki ya da daha fazla seçenek arasından bir seçim yapmanızı
sağlar. “<RadioButton
…/>” etiketi ile tanımlanır. “IsChecked” özelliği ile onay durumu
belirlenebilir.
CheckBox:
Onay kutuları, bir ya da daha fazla bağımsız seçenek belirlemenizi sağlar.
“<CheckBox …/>” etiketi ile tanımlanır. “IsChecked” özelliği ile onay durumu
belirlenebilir.
Image: Resim
gösterimi için kullanılan denetimdir. “<Image …/>” etiketi ile tanımlanır.
Resim kaynağı “Source” özelliği ile belirlenir. Resmin denetim üzerine
sığdırmak için “Strech” özelliği kullanılır.
Media: Video oynatımı için kullanılan
denetimdir. “<Media …/>” etiketi ile tanımlanır. Media kaynağı “Source”
özelliği ile belirlenir.
“MediaElement” nesnesi ile yürütülmek istenen
video üzerinde dilediğiniz bir konuma ulaşmak için “Position”, yürütüm hızını
belirleyebileceğiniz “SpeedRatio” ve ses seviyesini ayarlayabileceğiniz
“Volume” özelliklerini kullanabilirsiniz.
Özellikleri
Dinamik Olarak Değiştirme
Şimdiye
kadar, özellikleri statik olarak tasarım görünümünden ve XAML deneyimlerinden
faydalandınız. Uygulama penceresi üzerinde yer alan denetimleriniz özelliklerini
çalışma anında belirlemek değiştirmek veya değerini kullanmak isteyebilirsiniz.
Bunu sağlamak için öncellikle söz konusu denetimlerin mutlaka “Name”
parametresi ile belirlenmiş bir ismi olmalıdır. Kod sayfasında ilgili denetime
ismi üzerinden ulaşılarak gerek gördüğünüz değerlere ulaşabilir,
değiştirebilirsiniz.
Olayları İşleme
Kullanıcı
ile programınız arasındaki etkileşimi denetimlere ait olayları yöneterek gerçekleştirebilirsiniz.
Uygulama içerisinde ilgilendiğiniz olaylara abone olmanız koşuluyla, olay
meydana geldiğinde bir metodu çalıştırabilirsiniz. Denetimle ilgili bir olayı
metoda bağlamak oldukça basittir. Tasarım ekranı üzerinden söz konusu nesneyi
seçiniz ve ardından “Properties” panelinden “Event” sekmesini açınız. Yönetmek
istediğiniz olay tanımı üzerine çift tıklayınız. Denetimle ilgili olay
bildirimi ve olay metodu tanımı otomatik olarak oluşturulacaktır.
Menü
ve İletişim Kutuları
Programla çalışmak için
kullandığınız yüzlerce komut (eylem) bulunur. Pencereler üzerinde çalışma
alanınızın daha verimli kullanımı adına bu komutların çoğu menüler altında
düzenlenir.
İletişim kutuları,
kullanıcıya geri besleme sağlamak veya kullanıcıdan giriş almak için kullanılan
özelleştirilmiş bir penceredir. İletişim kutuları tek satırlık mesajlar veren
basit mesaj kutularından karmaşık kontroller içeren iletişim kutularına kadar
değişik biçim ve büyüklükte olabilir.
Menü Oluşturma
WPF kütüphanesi içinde programlarınız için kullanabileceğiniz, pencere menüsü (Menu) ve bağlı bulunduğu denetim üzerinde fare sağ tuşuna basıldığında açılan, denetim ile ilgili işlemlerin yer aldığı kısayol menülerine (Context Menu) sahiptir. Menüler “<Menu>…</Menu>” etiketleri arasında “<MenuItem>…</MenuItem>” menü seçenekleri eklenerek elde edilir.
Menü
Olaylarını İşleme
Kullanıcı
menü üzerinde yapmak istediği işlemi fare sol tuş tıklamasıyla gerçekleştirir. Menü
seçeneği (MenuItem) için “fare ile tıklandığında” şeklinde bir kullanıcı
etkileşimi WPF denetimi için algılanması gereken bir olay (event) niteliğindedir.
Bu olay çoğu WPF denetimlerinde olduğu gibi “Click” adıyla tanımlanır. Olayın
meydana gelmesi karşılığında program tarafından bir eylemin gerçekleşmesi
gerekir ki bu da ancak bir metodu işaret etmesi ile gerçekleşir.
Kısayol
Menüleri
Windows uygulamalarında, fare sağ tuş
menüsü, kullanıcıların en fazla kullanma eğilimi gösterdikleri denetimlerin
arasındadır. Bu tür menülerin özelliği içerik duyarlı olması ve yalnızca etkin
denetime ya da forma özgü komutları listelemesidir. WPF içinde “ContextMenu”
olarak tanınan kısayol menü denetimi uygulamalarınızda kullanabilirsiniz.
Kısayol menüleri denetime bağlılığından dolayı söz konusu denetimin “ContextMenu” özelliği altında tanımlanır. “<ContextMenu>…</ContextMenu>” etiketleri arasında “<MenuItem>” öğeleri eklenerek menü seçenekleri oluşturulur.
Ortak
İletişim Kutuları
İletişim
kutuları, kullanıcıya geri besleme sağlamak veya kullanıcıdan giriş almak için kullanılan
özelleştirilmiş pencerelerdir. Bu pencereler sayesinde uygulamalar kullanılabilirlik
adına daha fazla yol gösterici olmaktadır. Örneğin herhangi bir dosyayı açmak
veya kaydetmek için farklı programların aynı iletişim kutularını kullandığını görmüşünüzdür.
Bu işlevsellik o kadar yaygındır ki ortak iletişim kutuları, her program tarafından
ortak olarak kullanılmaktadır.
Doğrulamayı
Gerçekleştirme
Doğrulama, kullanıcının girdiği verilerin
türleri ve değerlerini denetlemek amacıyla yapılır.
Veri
Doğrulama
Veri doğrulama konusunda çeşitli yöntemler
vardır. Ancak şu an için .NET platformu WPF için varlık sınıflarınızda
doğrulama işlemleri yapabilmenizi sağlamak amaçlı “Windows.CompenentModel”
isimli alanında bulunan “IDataErrorInfo” isimli bir arayüz için sözleşmesi
sunar.
Uygulamanız iş mantığı üzerinde yer alan varlık sınıflarınız ile WPF kullanıcı denetimleriniz arasında bağlantı kurmanızı sağlayan bir mekanizmadır. Bağlantı nesnelerin özellikleri (property) arasında kurulur. bağlantı kurmak
Veri Bağlama
Uygulamanız iş mantığı üzerinde yer alan varlık
sınıflarınız ile WPF kullanıcı denetimleriniz arasında bağlantı kurmanızı
sağlayan bir mekanizmadır. Bağlantı nesnelerin özellikleri (property) arasında
kurulur.
bu nedir lo
YanıtlaSilvay amk
YanıtlaSilTm
YanıtlaSil31 sjsjsjsjsjjsjsjsjsjsjjjs
YanıtlaSil