Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

.NET Framework / Wpf Applicaton Sınıfı Event'leri

Mr.Onur

Fahri Üye
Fahri Üye
Fenerbahçe
Katılım
3 Şubat 2014
Mesajlar
1,744
Tepkime puanı
0
Puanları
0
Event driven programlada eventlerle bol bol haşır neşir oluruz. Uygulama geliştirirken Click, MouseDown, TextChanged gibi eventleri dinleyip,
eventler oluştuğunda yapılması gereken eylemleri koda dökeriz. Bu makalemizde bütün wpf uygulamaların başlangıç noktası olan Application sınıfının
Startup, Activated, Deactivated, Exit, DispatcherUnhandledException, SessionEnding eventlerini incelemeye çalışacağız.

Xaml



Startup
Application Run() metodundan sonra ve Application Run() içine parametre geçilen window ekran üzerinde görünmeden önce bu event tetiklenir. Bu
event içinde, App.Xaml'ın StartupUri propertisini set etmek yerine uygulamanın ana windowunu oluşturup gösterebiliriz.



Activated
Applicationdaki windowlardan bir tanesi aktif olduğu zaman ve başka bir uygulamadan bu uygulamaya geçiş yapıldığı zaman bu event tetiklenir.
Bu event ayrıca ilk defa window gösterildiği zamanda da Startup eventinden sonra tetiklenir.



Deactivated
Applicationdaki windowlardan bir tanesi aktif olmadığı zaman veya kapatıldığı zaman ya da application'dan başka bir uygulamaya geçiş yapıldığı zaman
bu event tetiklenir.

SessionEnding
Windows kapatılcağı ya da windowsta log off yapılacağı zaman eğer uygulama çalışıyorsa bu evente düşer. Windows'un kapatılmasını SessionEndingCancelEventArgs'ın
Cancel propertisi ile engelleyebiliriz. Eğer bu property'i true olarak set etmezsek, Application.ShutDown() fonksiyonu çağrılır ve uygulama kapatılır.





Exit
Application Run() metonundan dönülmeden önce, uygulama herhangi bir şekilde kapandığı ya da kapatıldığı zaman bu event çalışır. ExitEventArgs
parametresinde bulunan ApplicationExitCode propertisine değer vererek Run metodunun döndürdüğü int değerini değiştirebiliriz. Bu parametresinin
default değeri 0'dır.



DispatcherUnhandledException
Uygulama içinde (ana thread) ele almadığımız istisnai bir durum oluştuğu zaman istasnai durumun ele alınmasını sağlayan event'tir. Uygulama içinde
herhangi bir istisnai durum oluştuğunda istisnai durum, eğer bu event ele alınmışsa buraya düşer. Uygulamayı geliştiren kişi de, gelen istisnai duruma
göre çeşitli aktiviteler gerçekleştirebilir. Mesela önemli diye düşündüğü hataları loglayabilir. DispatcherUnhabdledException eventinde,
DispatcherUnhandledExceptionEventArgs parametresi gelmektedir. Bu parametrenin Handled adındaki propertisine true değeri verdiğimizde uygulama
çalışmaya devam eder. Bu parametrenin varsayılan değeri false'tur ve eğer bu varsayılan değeri değiştirmezsek windows kendi hata ekranını gösterir
ve uygulama kapanır. Bu örneğimizde kullanıcı düğmelere bastığında istisnai durum fırlatıyoruz. DispatcherUnhabdledException eventinde ise InvalidCastException
istisnai durum haricindeki diğer istisnai durumları ele alıp uygulamanın devam etmesini sağlıyoruz. InvalidCastException istisnai durumunda ise uygulamanın
kapatılacağı uyarısını verip uygulamayı kapatıyoruz.

Cs


 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst