‫Tekrar hoş geldiniz.
‫Artık bağımlılık özelliklerinin ne olduğunu bildiğinize göre, birbirleriyle bağlantılı veya birbirlerine bağlı oldukları için
‫veri bağlamayı kontrol etmenin zamanı geldi.
‫Bu videoda dört farklı bağlama modundan bahsedeceğiz.
‫Yani veri bağlama modları ve tek yönlü olarak adlandırılan bir tane var.
‫Yani bağlayıcı kaynaktan bağlayıcı hedefe doğru gider.
‫Bir de bağlama kaynağına ve geriye doğru bağlama hedefi vardır ki bu da iki yönlü moddur.
‫Ve sonra hedeften kaynağa doğru bilgi gönderen tek yönlü kaynağımız var.
‫Ve son olarak, yapıcıda veya başlatma sırasında yapılan bağlama kaynağı olan bir kez bağlama
‫hedefimiz var.
‫Bunun için bir örneğe göz atalım.
‫Burada metin girebileceğimiz bir metin kutumuz olabilir.
‫Bu yüzden, diyelim ki 100 genişlik vereceğim ve diyelim ki 50 piksellik bir kenar boşluğu vereceğim.
‫Şimdi ızgara yerine bir yığın paneli kullanmak istiyorum.
‫Bu yüzden şimdi adını Yığın paneli olarak değiştireceğim.
‫TextBox.
‫Adında bir metin atayacağım.
‫Ya da sadece 15 gibi bir şey yazacak.
‫Ve bunun altında bir kaydırıcı oluşturacağım.
‫Dolayısıyla kaydırıcının minimum değeri sıfır ve maksimum değeri 100 olmalıdır.
‫Şimdi kodu olduğu gibi çalıştıralım, böylece orada ne oluşturduğumuzu görebilirsiniz.
‫Ve gördüğünüz gibi, 15 değeri var.
‫Bu bir metin kutusu, yani istersem metni değiştirebilirim.
‫Ve işte kaydırıcı.
‫Şimdi yapmak istediğim şey ise bu ikisini birbirine bağlamak.
‫Bu yüzden kaydırıcıyı metin kutusuna bağlamak istiyorum.
‫Ve gördüğünüz gibi, bağlantı kurmanın dört farklı yolu var.
‫Ve ilk olarak kullanacağım tek yönlü veri bağlama.
‫Yani burada metin kutumun metninin bağlı olması gerektiğini söyleyeceğim.
‫Bu yüzden burada bağlama kullanacağım ve kime bağlamam gerektiğini bilmek istiyorum?
‫Bu yüzden kaydırıcıya bağlamak istiyorum.
‫Dolayısıyla, kaydırıcıyla iletişim kurmak veya kaydırıcıya erişmek için kaydırıcının bir adı olması
‫gerekir.
‫Bu yüzden ona kaydırıcım adını vereceğim ve şimdi bu adı buraya ekleyebilirim.
‫Yani bağlamak istediğim öğe adı benim kaydırıcım.
‫Ve aslında bu tire işareti değil.
‫Şimdi sırada bir yola ihtiyacım var.
‫Peki bu kaydırıcıdan elde etmek istediğim şey nedir?
‫Ve birden fazla mülk olabilir, değil mi?
‫Ancak benim ilgilendiğim değer çünkü kaydırıcımın değerini bilmek istiyorum.
‫Bu yüzden yol eşit değerde diyorum.
‫Ve şimdi son olarak modu atamam gerekiyor ve tek yönlü bir modla başlayacağız.
‫Bunu test etmeden önce, elbette, orada bulunan eski metnimden kurtulmam gerekiyor.
‫Şimdi devam edebilir ve kodu çalıştırabiliriz.
‫Ve kaydırıcıyı sürükleyip sürüklemediğimi göreceğiz.
‫Buradaki değer de değişir.
‫Şimdi gördüğünüz gibi, burada çok sayıda kayan nokta değeri veya uzun bir kayan nokta değeri var.
‫Ve tam sayı istiyorum.
‫Yani yapabileceğim şey, etkinleştirmek için snap snap adı verilen bir şey kullanabilirim.
‫Bu yüzden burada bunu etkinleştirmek çok kolay ve ben de bunun doğru olduğunu söyleyeceğim.
‫Bu yüzden etkinleştirilmesini istiyorum.
‫Eğer tekrar çalıştırırsam, burada sadece tam değerleri, tam sayıları alacağımızı göreceksiniz.
‫Pekala, bu harika.
‫Ama şimdi.
‫Bu arada, kaydırıcıya bağlı olmadığını da görebilirsiniz.
‫Yani metin bağlı veya veri kaynağı kaydırıcımız ve hedef de metin kutumuzdur.
‫Gördüğünüz gibi, veriler metin kutusuna gönderilir.
‫Ancak modu tek yönlü olarak ayarladığımız için, buradaki metnimin veya metin kutumun değerini değiştirirsem, kaydırıcı bununla ilgilenmeyecektir,
‫bu nedenle hiçbir şeyi değiştirmeyecektir.
‫Örneğin 25 girelim, Slider bunu önemsemez.
‫Yani bunu iki yönlü olarak değiştirirsek, o zaman önemseyecektir.
‫Ve şimdi bu arada, sadece sizin için, buradaki.
‫Yani metin kutumuz hedef metin kutumuz hedeftir ve kaydırıcımız bağlama kaynağıdır.
‫Yani kaydırıcı bağlayıcı kaynaktır.
‫Ve şimdi buradaki tüm bu şey çok daha mantıklı, değil mi?
‫Şimdi iki yönlü modu kullanıyoruz ve bunun ne anlama geldiğini birazdan göreceksiniz.
‫İşte buradayız.
‫Şimdi buraya bir değer girersem ve değerin dikkate alınması için tab tuşuna basarsam, kaydırıcımızın
‫değerinin değiştiğini görebilirim.
‫Yani şimdi her iki yöne de bağlılar.
‫Ya kaynağa doğru tek bir yol olmasını isteseydim?
‫Dolayısıyla, yalnızca metin kaydırıcıyı etkilemeli, ancak kaydırıcı metin kutusunu etkilememelidir.
‫O zaman bu tek yönlü kaynak modunu kullanabiliriz, bu yüzden tek yönlü kaynak modunu kullanacağım.
‫Tekrar çalıştıralım.
‫Ve şimdi buradaki değeri değiştirirsem, gördüğünüz gibi hiçbir şey değişmiyor.
‫Ancak buraya bir değer eklersem kaydırıcı değişiyor.
‫Tamam mı?
‫Yani kaynak bulmanın tek yolu bu.
‫Ve şimdi son olarak, tek seferlik mod.
‫Ana pencere XAML'imize girelim.
‫Biraz kod yazmamız gerekecek çünkü dediğim gibi, başlatma sırasında veya yapıcıda yapılması gerekiyor.
‫Ve bizim durumumuzda bu, ana penceremizin kurucusundadır ve devam edip bunu tek seferlik bağlama için kullanırız.
‫Bu yüzden kaydırıcıma erişeceğim ve değeri diyelim ki 30'a ayarlayacağım.
‫Şimdi metin kutusuna erişmek istiyorum.
‫Gördüğünüz gibi, bu kaydırıcıya kolayca erişebiliyoruz çünkü bir adı var ve aynı sınıfta olduğu
‫için doğrudan erişebiliyoruz.
‫Ancak şimdi metin kutusunun henüz bir adı yok, bu yüzden ona metin kutum
‫olacak bir ad vereceğim.
‫Şimdi devam edebilir ve bu metin kutusuna erişebiliriz.
‫Metin kutum, nokta metin, kaydırıcımın nokta değeri nokta dizesi olmalıdır.
‫Şimdi kaydırıcının başlangıçtaki değeri 30 olacak ve metin kutusunun metni kaydırıcının bir dize
‫olarak değeri olacaktır.
‫Bu da 30 olacak.
‫Ancak bunu iyi bir şekilde düzelttiğimizden değil, kaydırıcının değerini sabitledik ve bu vesileyle metin de bir kez ayarlandı.
‫Yani buradaki tek seferlik mod bu.
‫Gördüğünüz gibi, şimdi kaydırıcıyı değiştirirsem, metnimiz değişmiyor.
‫Bir değer eklediysem, değeri 25 olarak değiştirirsem de hiçbir şey değişmiyor.
‫Şimdi sizin için de ilginç olabilecek bir şeye bir kez daha göz atalım.
‫Şimdi iki şekilde değişmesini istiyorum, ama aynı zamanda tab tuşuna basmama gerek kalmadan değişmesini istiyorum.
‫Ve bu, aşağıdaki yaklaşımı kullanırsak tetiklenen bir şeydir.
‫Bu yüzden burada veri bağlamama bir şey ekleyeceğim çünkü erişebileceğimiz birden fazla farklı özellik
‫olduğunu görebilirsiniz.
‫Şimdi kullanmak istediğim tetikleyici ise güncelleme kaynağı tetikleyicisi.
‫Buradaki kaynak tetikleyiciyi güncelleyin.
‫Ve burada gördüğünüz gibi, varsayılan olarak, açık bir şekilde odağını kaybetti.
‫Bizim için ilginç olan bu özelliğin değişmiş olması.
‫Bu yüzden, özellik her değiştirildiğinde bunun tetiklenmesini istiyorum.
‫Yani bu, kaydırıcı veya metin her değiştirildiğinde anlamına gelir.
‫Bunu tekrar çalıştıralım.
‫Şimdi hatırlayın, yine iki yönlü kullanıyoruz ve başlangıçta 30'a ya da 30'a ayarladım.
‫Yani rahatsız etmiyor.
‫Tabii ki hala iki yönlü modda kullanabiliriz.
‫Ama şimdi, diyelim ki 25 olarak değiştirirsem veya yazarken bile, yani beş, beş gibi bir şey
‫yazıyorsam, beş bile dikkate alındı veya bir şeyi değiştiriyordu.
‫Yani 100'den yüksek bir değer eklersem, diyelim ki 555 eklemeye çalışıyorum, maksimum değer olan 100'e
‫gittiğini görürsünüz.
‫Yani eğer üzerinde oynarsam, doğrudan değiştiğini görebilirsiniz.
‫Bunun nedeni, burada güncelleme kaynağının özellik değişikliğini tetiklediğini söyleyen bu ek bilgiye sahip olmamızdır.
‫Yani bizim mülkümüz ne zaman
‫Ancak metin özelliği olan metin kutusu değiştiğinde, bu güncelleme kaynağı tetikleyicileri çalıştırılmalıdır.
‫Ve sonra tüm bu metin, metin kutusu kaydırıcısını değiştiriyor, hepsi değişiyor, tamam.
‫Çünkü bağlılar, değil mi?
‫Birbirlerine iki şekilde bağlılar.
‫İşte bu, veri bağlamanın önemli bir örneğidir.
‫Veri bağlama hakkında bilinmesi gereken daha çok şey var.
‫Biz sadece değeri bağladık, ancak diğer birçok yönü de bağlayabilirsiniz.
‫Örneğin, burada yolun değer olduğunu görüyorsunuz, ancak bunun bir özellik yolu olduğunu görüyorsunuz, ancak çok daha fazlası
‫var.
‫Diyelim ki arka planı bağlamak istiyorum.
‫Diyelim ki kaydırıcımın arka planı değişti ve 005'i görüyorsunuz vb.
‫Bu kaydırıcının arka planı ve kaydırıcının arka planı harika.
‫Şimdi kaydırıcının arka planını diyelim ki aqua olarak değiştirirsem, metnimin değeri aniden
‫f01, f f olur, yani bu renk için onaltılık değerdir.
‫Aqua.
‫Eğer beyaza çevirirsem, bol miktarda FS olacaktır.
‫Siyah olarak değiştirirsem, bol miktarda sıfır olması gerekir.
‫Gördüğünüz gibi.
‫F.
‫Bu alfa değeri.
‫Ve sonra onaltılık değere sahip olursunuz, sıfır, sıfır sıfır ve benzeri.
‫Yani veri madenciliği ile yapabileceğiniz şey budur, sadece değer değil.
‫Birbirleriyle paylaştıkları hemen hemen her özelliği bağlayabilirsiniz.
‫Tamam.
‫Bu yüzden buradaki değere geri döneceğim ve projeyi kaydedeceğim.
‫Umarım bu videoyu beğenmişsinizdir.
‫Bir sonraki videoda, WPF ile biraz daha ilginç şeyler yapmaya devam edeceğiz.