TOC

This article has been localized into Turkish by the community.

WPF Komutları:

WPF Komutlarına Giriş

Bu öğreticinin önceki bölümlerinden birinde olayları nasıl işleyeceğimizi anlattık, örn. bir butona ya da bir menü elemanına tıklanınca. Modern bir kullanıcı arabiriminde farklı kullanıcı aksiyonlarından aynı fonksiyona erişilebilmesi tipik bir durumdur.

Örneğin hem menüleri hem de toolbar'ı olan tipik bir uygulamada Yeni Dosya ya da Dosya Aç gibi işlemlere hem menüden seçerek hem de toolbar'da tıklayarak hatta içerik menüsünden (ana uygulama alanında sağ tıklayarak popup menüden) seçerek ulaşmak isteyebilirsiniz, Ctrl+N ve Ctrl+O gibi kısayol tuşlarının da aynı işlemleri yapmasını istersiniz.

Tüm bu aynı koda sahip eylemleri işlemek için bir WinForms uygulamasında her biri için bir olay tanımlaması yapıp ortak bir fonksiyonu çağırmanız gereklidir. Yukarıdaki örnek düşünülürse en az üç olay işleyicisi ve kısayol tuşlarını işleyen kodlar yazmak anlamına gelecektir. Bu ideal bir durum değildir.

WPF Komutları

WPF ile beraber Microsoft bu sorunu komutlar adı verilen bir konsept ile çözüm getirdi. Bu aksiyonları tek bir yerde tanımlamayı ve menü elemanları, toolbar butonları vs kullanıcı arabirim kontrollerinden onlara referans vermeyi mümkün kılar. WPF ayrıca bit uygulama içinde kullanıcı kısayol tuşlarını izler ve onları bu komutlara yönlendirir, bu bir uygulamada kısayol tuşlarını işlemenin ideal yoludur.

Komutlar ayrıca aynı fonksiyona farklı giriş yöntemleri ile gitme sorununu da çözer. Bir WinForms uygulamasında arabirim elemanlarınızın aksiyon mümkün değilse disable edilmesinden de siz sorumlusunuz, mesela Kes komutunda bir içerik seçilmiş olmalıdır ki Kes işlemi yapılabilsin, ve siz menü elemanı ya da tollbar butonunu bir şey seçili olup olmadığına göre aktif veya pasif etmelisiniz.

WPF komutları ile bu iş merkezileştirilmiştir. Bir metod ile verilen komutun gerçekleştirilebilip gerçekleştirilemeyeceğine karar verirsiniz ve WPF tüm bağlı arabirim elemanlarını otomatik olarak aktif ya da pasif yapar. Bu uyumlu ve dinamik uygulamalar yapmayı çok kolaylaştırır.

WPF Komut veri bağlamaları

Komutlar kendileri tek başlarına bir şey yapmazlar. Ana yapıda ICommand interface uyarlaması olarak bir olay ve iki metod tanımı içerirler : Execute() ve CanExecute(). İlki istenen aksiyonu gerçekleştirir, ikinci ise aksiyonun mümkün olup olmadığına karar verir. Komuttaki aksiyonu gerçekleştirmek için kodunuz ve komut arasında bağlantı kurmanız gerekir, işte burada CommandBinding sahneye çıkar.

Bir CommandBinding genellikle bir Window ya da UserControl içinde tanımlanır, ve işlenen WPF komut referanslarını içerir, WPF komutlarının Execute() ve CanExecute() metodlarını işleyen aktif olay işleyiciler olarak.

Ön tanımlı WPF komutları

Kendi WPF komutlarınızı tabi ki önümüzdeki bölümlerde göstereceğimiz gibi tanımlayabilirsiniz, fakat size kolaylık olsun diye WPF ekibi 100'den fazla çok kullanılan komutu siz kullanasınız diye hazır tanımladı. 5 kategoride toplanmıştırlar, ApplicationCommands, NavigationCommands, MediaCommands, EditingCommands ve ComponentCommands. Özellikle ApplicationCommands içinde New, Open, Save ve Cut, Copy ve Paste gibi bir çok çok kullanılan aksiyonlar vardır.

Sonuç

Komutlar sizin bir çok kaynaktan ihtiyaç duyulan aksiyonları bir tek olay işleyici kullanarak işlemenizi mümkün kılar. Ayrıca arabirim elemanlarının aksiyonun mümkün olup olmadığına göre aktif veya pasif edilmesini de kolaylaştırır. Buraya kadar teori idi ama sonraki bölümlerde WPF komutlarının nasıl kullanıldığı ve kendi komutlarınızı nasıl tanımlayacağınızı açıklayacağız.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!