‫Tekrar hoş geldiniz.
‫Bu videoda mülk verileri ve olay tetikleyicileri hakkında konuşmak istiyorum çünkü hareket halindeyken
‫bir şeyleri ayarlamak istediğinizde bunlar oldukça önemlidir.
‫Bu durumda, buradaki metni ayarlayacağım.
‫Bu yüzden üzerine gittiğimde, imleci üzerine getiriyorum ve metin rengini ve genel olarak görünümünü değiştiriyor.
‫O zaman bu.
‫Merhaba dostum.
‫Gördüğünüz gibi, boyutlar çok büyük.
‫Yani burası bir animasyon gibi.
‫Ve sonra burada bir onay kutumuz var ve bu metin hayır diyor ve ben sadece üzerine tıklayacağım
‫ve diyor ki, Oh, elbette orada biri var, bu yüzden benim.
‫Evet, tıklayabilirim.
‫Yani bunlar bu videoda ele alacağımız şeyler ve kullanıcı arayüzünüzü genel olarak oldukça
‫iyi bir hale getirmenize olanak tanıyacak, çünkü anında ayarlanabiliyor ve gelişmiş bir kullanıcı deneyimi sunabiliyor
‫veya gelişmiş bir kullanıcı deneyimi yaratabiliyor.
‫Şimdi devam edelim ve burada yeni bir proje oluşturalım.
‫Ve bir WPA 14 C çağıracağım, bu da özellik verileri ve olay tetikleyicileridir.
‫Orada ızgaralar ve yığın panellerden oluşan bir kombinasyon vardı.
‫Bu yüzden bir yığın paneli ile başlayacağım.
‫Panoyu böyle istifle.
‫Ve Yığın panelinin içinde bir ızgaram var.
‫Ve orada Metin Merhaba, sevgili dünya veya sevgili dünya gibi bir şey yazan bir metin bloğum var.
‫Ve sonra bir yazı tipi boyutum var.
‫Bu yüzden bunu 32 olarak ayarlayacağım.
‫Bunun merkezde olmasını istiyorum.
‫Bu yüzden ortala diyeceğim ve dikey olarak da ortalanmalıdır.
‫Bu yüzden bir sonraki satırda dikey hizalamanın da ortalanacağını söyleyeceğim ve bu şekilde
‫kapatacağım.
‫İşte buradayız.
‫Bu bizim metnimiz Sevgili Dünya ve XAML dosyasını biraz boyutlandıracağım.
‫Yani burada, metin bloğunda, devam edebilir ve örneğin stili değiştirebilirim.
‫Birden fazla şey yapabiliyorum ve stil tetikleyicisini kullanmak için bir stile sahip olmam gerekiyor.
‫Bu yüzden bir stil oluşturmamı sağlayacak bir metin bloğu nokta stili ekleyeceğim.
‫Örneğin, buraya metin bloğumuz olacak bir hedef türü eklemem gerekiyor.
‫Ve bu stilin içine bir setter ve stil tetikleyicileri ekleyebilirim.
‫Öncelikle, ön plan özelliği olacak bir setter'a ihtiyacım var.
‫Bu yüzden ön planı ayarlamak istiyorum, ön planı değiştirmek istiyorum ve yeşil olarak değiştirmek istiyorum.
‫Bu yüzden değeri yeşil olarak ayarlayacaktır.
‫Ve daha sonra, bunu gerçekten yapabilecek tetikleyicilere sahip olmak istiyorum çünkü şimdilik sadece yeşil.
‫Ancak bunun tetiklenmesini istiyorum ve bunu stil nokta tetikleyicileriyle yapıyorum.
‫Şimdi stil tetikleyicileri etiketi içinde farklı tetikleyicilerimi oluşturabilirim ve sadece bir tetikleyicim
‫olacak, o da farenin üzerine gelmek olacak.
‫Yani bu tetikleyicinin özelliği farenin üzerine gelmektir.
‫Bu metnin üzerine geldiğimizde, bu tetikleyicinin çalıştırılmasını ve değerin true
‫olarak ayarlanmasını istiyorum.
‫Böyle büyük bir T ile.
‫Böylece bu tetikleyici etiketi içinde ayarlayıcılarımı oluşturabilirim ve genel olarak değiştirilmesi gereken şey bu olacaktır.
‫Diyelim ki şimdi yeşil bir metnim var ve üzerine geldiğimde bunun kırmızı olmasını istiyorum.
‫Böylece setter özelliği ön plana ayarlayacak veya ön plan özelliğini kırmızı değerine ayarlayacaktır.
‫Şimdi ne zaman üzerine gelsem ya da farem üzerine gelse, bu tetikleyici çalıştırılacak ve tüm
‫ayarlayıcıları da tetiklenecek ya da çalıştırılacaktır.
‫Ve eklemek istediğim bir sonraki ayarlayıcı setter özelliği olacak.
‫Ve burada altını çizme değerine ayarlamak istediğim metin bildirimleri.
‫Pekala, bu ayarlayıcıyı kapatalım ve tetikleyicimizin çalışıp çalışmadığını kontrol edelim.
‫Yani bu sadece bir metin, değil mi?
‫Şimdi kodu biraz derinlemesine ya da biraz daha derinlemesine inceleyelim.
‫Yani elimizde bu ızgara var.
‫Bu da bir Yığın panelinde.
‫Ve elimizde sadece bu metin bloğu var.
‫Ve bu sadece burada gördüğümüz metin, bu merhaba sevgili dünya.
‫Bir yazı tipi boyutu vardır ve ortalanmıştır.
‫Metin bloğunun genel özellikleri bu şekildedir.
‫Ancak şimdi metin bloğunun stilini ayarlıyorum, böylece buraya bazı stil bileşenleri ekleyebiliyorum.
‫Ve bu stil etiketini kullanıyorum ve bu stilin hedef türünün metin bloğunun kendisi olması gerektiğini söylüyorum çünkü metin bloğu içindeki
‫bileşenler olabilir, ancak bu şimdi çok ileri gitmek olur.
‫Ancak genel olarak, burada stili ayarlayan setter'ımız var.
‫Yani bu hemen yapılan bir şey, değil mi?
‫Bunu tetiklememize gerek yok.
‫Ancak daha sonra bir şeyleri ayarlayan bir tetikleyici içeren stil tetikleyicileri ekleyebiliriz ve bu tetikleyiciyi tetikleyecek
‫özelliğin ne olması gerektiğini belirtmemiz gerekir.
‫Çoğu da öyle.
‫Bu doğru olduğunda, ayarlayıcıların çalıştırılmasını istiyorum ve bu basitçe şunu söyleyecektir: Tamam,
‫ön plan özelliğini kırmızı değerine değiştirmek istiyorum ve metin bildirimleri özelliğini altı çizili değerine ayarlamak
‫istiyorum.
‫İsterseniz buraya birden fazla farklı ayarlayıcı ekleyebilirsiniz ve buradaki her çalıştırıldığında
‫bu tetiklenir ve farenin üzerine gelindiğinde bu çalıştırılır.
‫Şimdi kodu çalıştıralım ve bunun nasıl çalıştığını görelim.
‫Merhaba Sevgili Dünya.
‫Ve üzerinde geziniyorum.
‫Gördüğünüz gibi, metin dekorasyonu çizgi üzerinde.
‫Böylece metnin altı çizilir ve ön plan değeri kırmızı olur.
‫Yani bu renk yeşilden kırmızıya doğru gidiyor.
‫Tamam.
‫İşte bu şekilde basitçe devam edebilir ve stil tetikleyicilerini veya genel olarak tetikleyicileri kullanabilirsiniz.
‫Ve görebileceğiniz başka bir şey de, değer false değerine geri döndüğünde, orijinal değerine geri döner.
‫Yani altını çiz ve oku artık doğru değil.
‫Böylece ön plan için yeşil olan orijinal değerine geri dönerler ve alt çizgi yanlış veya
‫yanlıştır.
‫Yani metin beyanının altı çizilmemiştir.
‫Şimdi devam edelim ve benzersiz bir ızgarada olacak başka bir metin bloğu oluşturalım.
‫Bu yüzden üst üste birden fazla ızgaraya sahip olmak istiyorum.
‫Farklı bir sarmalayıcı kullanabilirdim, ancak burada ve orada sadece Grid kullanacağım.
‫Yine bir metin bloğum var ve bu sefer şöyle bir şey yazmalı: Merhaba dostum, merhaba dostum.
‫Ve şimdi orada yazı tipi boyutunu 24 olarak ayarlayacağım, 24 olacak.
‫Sonra bunun hem yatay hem de dikey hizalama için merkezi olarak hizalanmasını istiyorum.
‫Ve sonra bu metin bloğu şekillendirilmelidir.
‫Bu yüzden burada birden fazla şeyi şekillendireceğim.
‫Öncelikle, buraya ve oraya metin bloğu stil etiketi eklemek istiyorum.
‫Bir stil ekleyeceğim.
‫Ve yine hedef metin bloğu türü olacak.
‫Ve burada olay tetikleyicileri oluşturabilirim.
‫Yani burada sadece bir tetikleyici olan stil tetikleyicisini gördünüz.
‫Ancak şimdi biraz farklı olacak bir olay tetikleyicisi çalıştırmak istiyorum.
‫İlk olarak bir nokta tetikleyici stili oluşturalım, tetikleyici etiketini başlatalım ve burada bir olay tetikleyicisine
‫sahip olmak istiyorum ve bu, köklü olay doğru olduğunda yürütülecek ve olayın kuralları fare girişi olacak.
‫Böylece, faremizle bu metin bloğuna her girdiğimizde bu tetiklenecektir.
‫Yani burada gördüğümüzle hemen hemen aynı şey.
‫Bu mülk farenin üzerinde miydi?
‫Ama tetikleyici kullanmıyoruz.
‫Bir olay tetikleyicisi kullanıyoruz.
‫Ve farkı bir saniye içinde göreceksiniz.
‫Şimdi, bu olay Tetikleyicisinde, devam edip bir olay tetikleyici eylemi veya aslında birden fazla eylem oluşturabilirim.
‫Dolayısıyla, bu diğer etikete sahibim ve burada artık bu olay tetikleyicisi tetiklendiğinde çalıştırmak istediğim
‫tüm farklı eylemleri oluşturabilirim.
‫Yani faremizle her girdiğimizde, bir olay tetikleyici eylem oluşturalım ve bu şekilde yapılacaktır.
‫Film şeridine başlayın.
‫Bu yüzden bu etikete ihtiyacımız var, storyboard'a başla.
‫Ardından bir storyboard oluşturuyoruz ve storyboard içinde artık animasyonlar yapabiliyoruz.
‫Yani çift animasyon, belirli bir süre boyunca çalışan bir ortak animasyon olacaktır.
‫Ve burada saat olarak sıfır, 0 dakika, 0 saniye ve 500 milisaniyemiz var.
‫Yani 500 milisaniyelik bir süre boyunca bunun yürütülmesini istiyorum.
‫Yani bu animasyon çalışacak ve sonra yazı tipi boyutunu değiştirmek istiyorum.
‫Ancak şimdi yazı tipi boyutunu değiştirmek için storyboard dot target özelliğini kullanmam gerekiyor.
‫Yani burada gördüğümüz, metin süslemelerini değiştirdiğimiz ve altını çizecek şekilde ayarladığımız setter
‫özelliğine çok benzer.
‫Şimdi burada bu yaklaşımı kullanmamız gerekiyor, storyboard, target, property yerine.
‫Ve burada hangi özelliği değiştirmek istediğimi söyleyebilirim.
‫Bu yüzden yazı tipi boyutunu da değiştirmek istiyorum.
‫Ve şimdi değeri belirleyebilirim.
‫Burada iki özelliği var ve değeri 72 olarak ayarladım.
‫Yani burada yürüttüğümüz çifte animasyon bu.
‫Yani burada gördüğümüze benzer bir durum.
‫Sadece değerler veya isimler farklıdır.
‫Yani bu bir özellikti, ancak şimdi bir storyboard hedef özelliği.
‫Ardından, altı çizili olan değerimiz var, ancak şimdi değiştirmemiz gereken iki anahtar kelime veya
‫iki özellik.
‫Çalıştırılacak olan bu küçük animasyonu hemen hemen bu şekilde oluşturabiliriz.
‫Şimdi bu kodu başlatalım ve neler olduğunu görelim.
‫Öyleyiz.
‫Merhaba dostum.
‫Ve işte buradayız.
‫Şimdi görebileceğiniz gibi büyük ve geri gitmiyor.
‫Hadi ama, normal boyutuna geri dön ve.
‫Benim ne istediğim umurunda değil çünkü ben bunu uygulamadım.
‫Şimdi sizin için küçük bir meydan okuma.
‫Lütfen bir tane daha ekleyin.
‫Buraya gitti, tam da bunu yapacak.
‫Bu yüzden bir olay tetikleyicisi ekleyin.
‫Sadece küçük bir ipucu var.
‫Tüm bunları tekrar yapmanıza gerek yok.
‫Bu kodu oluşturmanız veya yeniden üretmeniz yeterlidir.
‫Bu yüzden lütfen devam edin ve işlevselliği ekleyin.
‫Böylece fare bu metin bloğunu terk ettiğinde metin 24 olan orijinal boyutuna geri döner ve bu işlem diyelim ki 300
‫milisaniyelik bir süre boyunca yapılmalıdır.
‫Bu yüzden lütfen devam edin ve bunu deneyin.
‫Tamam.
‫Umarım yapmışsındır.
‫Bu yüzden bu olay tetikleyicisini kopyalayacağım.
‫Hemen aşağıya yapıştıracağım.
‫Ve mouse enter yerine mouse leaf gibi bir şey gireceğim.
‫Süre 300 milisaniye olmalı ve yazı tipi boyutu 24 değerine ayarlanmalıdır.
‫İşte bu kadar.
‫Yani fare metin bloğundan her çıktığında geri dönmek için ihtiyacım olan olay tetikleyicisi bu.
‫Bunu tekrar test edelim.
‫İşte buradayız.
‫Merhaba dostum.
‫Ve şimdi bırakayım.
‫Ve geri dönüyor ve başladığından daha hızlı geri dönüyor.
‫Değil mi?
‫Yani bir tanesi metin içindeydi veya fare girişi 500 milisaniyeydi ve fare yaprağı 300 milisaniyeydi.
‫Yani burada oldukça havalı etkinlikler yapabilirsiniz ve gördüğünüz gibi anında tepki bile veriyor.
‫Yani hemen geri dönüyor ve bu oldukça havalı.
‫Tamam, bunlar olay tetikleyicileri.
‫Yani tetikleyici türünde olan stil tetikleyicileri ve olay tetikleyici türünde olan stil tetikleyicileri
‫gördünüz.
‫Şimdi, altında küçük bir metin bulunan bir onay kutusu eklemek istediğim bir şey daha var, bu
‫da ayarlanacak.
‫Yani bu bağlayıcı kullanacak, veri bağlayıcı.
‫Veri bağlamayı daha önce görmüştük ve bir ızgarada olmak yerine bir yığın panelinde olmalıdır.
‫Çünkü iki şeyi üst üste koymak istiyorum.
‫Onay kutusunu metin bloğunun üstüne yığmak istiyorum.
‫Bu yüzden Yığın panelinde bir onay kutusu oluşturuyorum ve bunun adı KB olmalı.
‫Merhaba, KB CheckBox anlamına gelmektedir.
‫O zaman onay kutusunun içeriği şöyle bir şey olmalı Orada biri var mı?
‫Soru işareti.
‫Şimdi yığın paneli aslında bunu hizalamama izin veriyor, böylece yatay olarak hizalayıp dikey olarak da hizalayabiliyorum.
‫Yani dikey hizalama merkezi de.
‫Tamam.
‫Şimdi bu onay kutusu bir şeyi tetiklemeli ve ders kitabımızı değiştirmelidir.
‫Bu yüzden bir metin bloğuna ihtiyacımız olacak ve bunu da yatay olarak hizalayacağım.
‫Metin bloğunu ortalayayım.
‫Ardından metin bloğumun yazı tipi boyutunu 36 olarak ayarlayacağım, böylece metin bloğu içinde yeterince büyük olacaktır.
‫Devam etmek ve stilini değiştirmek istiyorum.
‫Yani bu zaten en tepede gördüğümüz bir şey.
‫Böylece bu metin bloğu stilini ve stil hedef türünü kullanırız ve hedef türünü belirleriz.
‫Burada da aynı şeyi yapacağım, metin bloğu nokta stili ve burada bir stil etiketi ve stil hedef türü oluşturuyorum.
‫Yani sahip olduğum hedef benim metin bloğum.
‫Bu yüzden metin bloğunu değiştirmek istiyorum.
‫Peki bunu nasıl yapacağım?
‫Benim setterlarımla.
‫Bu yüzden hemen ayarlayacağım.
‫Ve bu kez tetikleyici veri olacak, veri odaklı bir tetikleyici olacak ve burada gördüğümüz gibi olay odaklı bir tetikleyici
‫olmayacak.
‫Yani olay tetikleyici ve benzeri.
‫Ama şimdi veri odaklı bir tetikleyici.
‫Dolayısıyla, setter'ımın özelliği metin olacak özellik olacaktır.
‫Ve metnin değerini hayır gibi bir şeyle değiştirmek istiyorum.
‫Ve şimdi onun altında, en altta bir ayarlayıcı daha olacak.
‫Yani bu, ön plan adlı özelliği değiştirecektir.
‫Bu yüzden rengi sadece kırmızı değerine değiştirmelidir.
‫Şimdi bu hemen infaz edilecek, değil mi?
‫Yani tarzımız var ve henüz tetikleyicimiz yok.
‫Yani bu ayarlanacak.
‫Biz de aynı şeyi yapabilirdik.
‫Metni burada metin bloğu düzeyinde ayarlayabilirdik.
‫Metin bloğu düzeyinde kırmızı değerini kullanabilirdik.
‫Tamam.
‫Ancak size bunun alternatif bir yaklaşım olduğunu ve aşağıdaki şeyi yapmanıza yardımcı olacağını göstermek istiyorum.
‫Yani bu durumda, bir nokta tetik stiline ihtiyacım olacak.
‫Bu yüzden stil tetikleyicileri etiketine ihtiyacım var.
‫Ve şimdi ve burada bir veri tetikleyicisi oluşturuyorum.
‫Gördüğünüz gibi, bir özelliğe dayanan normal tetikleyiciler kullandık.
‫Sonra olay güdümlü tetikleyicilerimiz var, bu da yürütülen köklü bir olaydır.
‫Yani hemen hemen aynı şey.
‫Ancak bu durumda, bilirsiniz, fareyle üzerine gelinir ve fareyle girilir.
‫Ancak bu durumda onu tetikleyen bir özelliktir.
‫Ve bu durumda, bu gerçek bir olay ve şimdi veri olacak.
‫Yani üç farklı tetikleyici türü görüyorsunuz.
‫Dolayısıyla bu veri tetikleyicisi de bir şeyleri ayarlayacaktır.
‫Ancak şimdi tetikleyiciyi çalıştırmak için bu durumda bağlama kullanmam gerekiyor.
‫Bu yüzden CB adlı öğe adını bağlayacağım.
‫Merhaba, onay kutumuz ve CB merhaba.
‫Yolunun kontrol edilmiş olması gerekir, bu yüzden kontrol edilmiş değerini kontrol edeceğim ve.
‫Bu değeri true olarak ayarlayacağım.
‫Şimdi, eğer ben.
‫Şu onay kutusunu işaretleyin.
‫Bazı ayarlayıcılar çalıştırılmalıdır, bu nedenle metin özelliğine sahip ayarlayıcı çalıştırılmalı ve değeri aşağıdaki
‫gibi bir şeye ayarlanmalıdır.
‫Tabii ki.
‫Şimdi, eklemek istediğim bir sonraki sektör ön plan özelliğine sahip olacak.
‫Böylece ön plan özelliğini yeşil değerine değiştirecek ve hepsi bu kadar.
‫Yani bu bizim veri tetikleyicimiz.
‫Devam edelim ve bunu çalıştıralım.
‫İşte buradayız.
‫Burada farenin üzerine gelme veya kök olayına dayalı iki tetikleyicimiz var.
‫Ve sonra o onay kutusunu işaretlersem, hadi yapalım.
‫Bum.
‫Ve tabii ki diyor ki.
‫Gördüğünüz gibi, onay kutumuz şimdi bunu tetikliyor ve olay bu değil.
‫Yani bu kontrol olayı değil.
‫Arkasındaki verilere dayanmaktadır.
‫Böylece KB'mizin is checked değerine bağlanıyoruz.
‫Merhaba.
‫Yani buradaki onay kutumuzun.
‫Dediğim gibi, bu önemli, değil mi?
‫Yani aynı şeyi, kontrol ettiğimizde tetiklenen bir olayla da yapabilirdiniz çünkü kontrol etmenin veya
‫kontrol edilmenin bir olayı başlatabileceğini biliyorsunuz.
‫Yani çek değişti ya da onun gibi bir şey, değil mi?
‫Ama bu sefer bunu verilere dayanarak yapıyoruz.
‫Yani ne zaman basarsam, bu çalıştırılacak.
‫Tamam.
‫Bunlar, kullanıcı arayüzünüzde oldukça güzel değişiklikler gerçekleştiren üç farklı tetikleyici
‫türü ve farklı kuyu türleridir.
‫Harika.
‫Umarım tüm bunları anlayabilmişsinizdir.
‫Bazı ek veri tetikleyicilerini denemenizi tavsiye ederim.
‫Metin içeren bir şeye göz atın.
‫Yani birisi belirli bir metin girerse, o zaman bir şey değiştirilmelidir veya bu tür şeyler.
‫Yani XAML ile arkada bir koda dokunmak zorunda kalmadan pek çok şey yapabilirsiniz ve bu oldukça havalı.
‫Pekala, harika.
‫Bir sonraki videoda görüşmek üzere.