‫Tekrar hoş geldiniz.
‫Bu videoda bir liste kutusu oluşturacağız.
‫Ve burada girişleri içeren küçük bir liste kutumuz olduğunu görebilirsiniz.
‫Yani Bayern Münih'in üç puanı ya da golü var ve Real Madrid'in de iki golü var ve maç
‫neredeyse bitmek üzere.
‫Yani burada henüz kullanmadığımız birden fazla farklı unsur kullanıyoruz.
‫Birini seçtiğimde ve seçileni göster düğmesine tıkladığımda, küçük bir mesaj kutusu açılır ve bana seçili kutu hakkında
‫bilgi verir ve daha fazla bilgi verir ya da en azından bu durumda, bana sadece
‫bu bilgiyi verir.
‫Ve elbette buraya biraz daha fazla bilgi ekleyebilirsiniz, böylece internetten
‫verileri alan ve her zaman güncellenen ve size sadece mevcut maçların mevcut skorunu gösteren küçük bir
‫uygulama oluşturabilirsiniz.
‫Tamam.
‫Devam edelim ve bunu yapmaya başlayalım.
‫Bunun için liste kutusu adını vereceğim yeni bir proje oluşturacağım.
‫Öyleyse devam edelim ve bu ismi şimdiden alalım.
‫Bu yüzden buna C diyeceğim ve burada esas olarak XAML kullanacağım.
‫Bu yüzden hepsini sürükleyeceğim.
‫Ve bu kuyumuz, buradaki görüntümüz ya da burada hala bir pencere var.
‫Ama şimdi yapmak istediğim şey yine ızgaraları kullanmak istiyorum, ama tabii ki birden fazla satır kullanacağım.
‫Şimdi devam edelim ve bir sütun tanımı, bir satır tanımı ve bu tür şeyler oluşturalım.
‫Ve bu arada, aslında sadece iki sütuna ihtiyacımız var, bu yüzden o kadar da karmaşık olmayacak.
‫Yani sadece iki farklı sütunumuz var.
‫Birden fazla satırımız yok, bu nedenle satır tanımına ihtiyacımız olmayacak.
‫Ama sizin için, bunu nasıl yapacağınızı hatırlıyorsanız, bunu bilmek her zaman iyidir.
‫Bu yüzden önce sütun tanımlarına ihtiyacınız var ve sonra burada sütunlarınızı tanımlayabilirsiniz.
‫Ve devam edip yıldız genişliğinde bir sütun ve diyelim ki 100 genişliğinde bir sütun tanımı tanımlayacağım.
‫Bu yüzden bir düğme ve ikinci bir sütun istiyorum.
‫Burada kullanmak istediğim şey bu.
‫Tamam.
‫Elimdeki iki sütun bunlar.
‫Bu, liste kutusunu içerecek ve sağdaki de bir eşleşme hakkında daha fazla bilgi almak
‫istediğimizde tıklayabileceğimiz bu büyük düğmeyi içerecek.
‫Şimdi bir liste kutusu oluşturalım ve liste kutusu anahtar sözcüğünü kullanacağım ve bu liste kutusunun bir adı olacak.
‫Bu listeye kutu eşleşmeleri adını vereceğim ve içeriği yatay olarak hizalayacağım.
‫Bu yüzden yatay içerik hizalaması yapacağım ve liste kutumun içeriğini uzatacak şekilde esneteceğim.
‫Bu arada bu maçın adı lbw maçı olmalı.
‫Yani isimler eşleşecek.
‫Pekala, şimdi, belirli bir öğe şablonu istiyorum.
‫Yani bir liste kutusu bir öğe şablonuna sahip olabilir.
‫Bu yüzden liste kutusu nokta öğesi şablonunu kullanacağım.
‫Ve orada bir veri şablonuna sahip olabilirim.
‫Şimdi yeni bir veri şablonu oluşturacağım ve artık metin bloklarını ya da bilgileri ekleyebilirim.
‫Gördüğünüz gibi, henüz görmediğimiz bir şekilde yapılandırılmış, ama bu tamamen sorun değil.
‫Bir saniye içinde nasıl çalıştığını göreceksiniz.
‫Yani bu liste kutumuz var, sonra öğe şablonumuz var, sonra da veri şablonumuz var.
‫Ve burada verileri görüntüleyebiliriz ve ben burada bir ızgara kullanacağım.
‫Bu yüzden kenar boşlukları iki olan bir ızgara kullanacağım.
‫Ve bu ızgaranın sütun tanımlarına da ihtiyacı vardır.
‫Bu yüzden yeni bir ızgara nokta sütun tanımları etiketi oluşturacağım.
‫Ve sonra burada sütun tanımlarını tanımlayacağım veya sütun tanımlarını oluşturacağım.
‫Ve bu arada, burada da basit tutacağım.
‫Ve sahip olmak istediğim şey sadece diğer tüm sütunlarla aynı alanı kaplayacak bir genişlik.
‫Bu yüzden burada beş sütunum olacak.
‫Biri takım olacak, ikincisi ise skor olacak.
‫Üçüncüsü yine skor.
‫Dördüncüsü takım ya da ikinci takım.
‫Ve son olarak da ilerleme kaydediyoruz.
‫Bu yüzden oyunun ya da maçın ne kadar ilerlediğini bilmek istiyoruz.
‫Ve şimdi birden fazla metin bloğuna sahip olmak istiyorum.
‫Yani bir tanesi, kılavuz nokta sütun konumu sıfır olan bir metin bloğu ve bağlamak istediğim bir metin olacak.
‫Bu yüzden bu metni birinci takıma bağlayacağım.
‫Şimdi merak edebilirsiniz, birinci takım nedir?
‫Peki, bu ekibi arkasındaki kodumuzda tanımlamamız gerekiyor.
‫Tamam.
‫Şimdi yapacağım şey, burada örnekle daha fazla ilerlemeden önce, arkadaki koda
‫geçeceğim ve eşleşmelerle ilgilenecek yeni bir sınıf oluşturacağım.
‫Yani bu sadece çok basit bir sınıf olacak, public class match.
‫Ve bu sınıf sadece özellikler içerecek, bu yüzden public ve aslında burada bir özellik oluşturalım.
‫Yani bu daha kolay bir destek olacak ve bir puan alacak, sonra bir tane daha, iki puan, sonra bir taneye
‫ihtiyacım var, bu bir dize olacak, bu iki bir olacak ve sonra bir tane daha, bu da bir dize
‫olacak ve bu da takım iki olacak.
‫Ve şimdi nihayet tam sayı olan bir tane var, bu da tamamlama olacak.
‫Bu yüzden oyunun ne kadar ilerisinde olduğumu veya toplam maçın kaç dakikasının geçtiğini bilmek istiyorum.
‫Bu maç sınıfı hakkında genel bilgiler bunlardır.
‫Ve bu sınıfın harika olduğunu görüyorsunuz ve genel olarak nesne yönelimli programlama
‫burada harika olacak çünkü daha fazla bilgi eklemek istersek bunu kolayca ayarlayabiliriz.
‫Örneğin, sahadaki oyuncuları eklemek istiyoruz ve oyuncularla ilgilenecek yepyeni bir özellik
‫oluşturabiliriz.
‫Böylece maç içinde kullanılacak ve tüm farklı oyuncu adlarını ya da buna benzer bir şeyi
‫içerecek bir sınıf oluşturabiliriz.
‫Bu da genişletilebilirlik için harikadır, böylece bu kodu kolayca koruyabilirsiniz.
‫Şimdi bu maç sınıfına sahibiz ve ana penceremde devam edip bir maç listesi oluşturmak istiyorum.
‫Bu yüzden bir liste oluşturacağım ve buna match adını vereceğim ya da aslında burada olmasını istediğim liste öğesi
‫olarak Match'i kullanacağım.
‫Ve buna yeni bir eşleşme listesi olacak olan eşleşmeler adı verilecek.
‫Tamam.
‫Şimdi bu eşleşme listesine sahibim ve bu listeye öğeler ekleyebilirim.
‫Bu yüzden yeni bir maç ekleyeceğim, bu benim takımım olacak ve Bayern Münih değerinde olacak.
‫Ben Almanya'da büyük bir Bayern taraftarıyım ve Almanya'nın en iyi takımıyım.
‫Uluslararası alanda çok iyi.
‫Umarım bu yıl Şampiyonlar Ligi'ni kazanırlar.
‫Hala iyi görünüyor.
‫Sevilla'yı yendiler.
‫Ciddi hayranlar için üzgünüm.
‫Ardından, üç olarak ayarlayacağım skor bir ve iki olarak ayarlayacağım skor
‫ikimiz var.
‫Ve son olarak 85 gibi bir değere ayarlayacağım bir tamamlama değerimiz var.
‫Yani maç neredeyse bitti ve Bayern bir puan ya da bir gol önde.
‫Genelde bu şekilde yeni bir eşleşme oluşturabiliyorum.
‫Gördüğünüz gibi, bir yapıcı oluşturmamıza gerek kalmadı, bu sınıfta herhangi bir yöntem oluşturmamıza gerek kalmadı.
‫Basitçe, özellikleri olan çok temel bir sınıf oluşturduk ve bu özellikleri buraya atadık ve şimdi tüm bu
‫özelliklere sahip bir nesnemiz var.
‫Ve bu harika çünkü şimdi bunu listemizde veya aslında listemizde göstermek için kullanabiliriz.
‫Liste kutusu.
‫Bu yüzden birinci tema olacak olan ilk metin bloğuna sahibim.
‫Ardından, Birinci Takım'ın skoruna bağlı olması gereken ikinci metin bloğum var.
‫Yani birinci skor olacak.
‫Bir sonraki metin bloğu ikinci takım hakkında bilgi içermelidir.
‫Yani bu ikinci takım olacak.
‫İkinci takım hakkındaki bilgi ise sadece ikinci takımın adı ve son olarak ikinci skor.
‫Ve son olarak, oyunda ne kadar ilerlediğimi bana bildirecek bir metin bloğu değil, bir
‫ilerleme çubuğuna sahip olmak istiyorum.
‫Bu yüzden Izgara Sütunu dört olarak ayarlayacağım bir ilerleme çubuğu.
‫Ve elbette burada da sütunları değiştirmemiz gerekecek.
‫Bir, iki, üç, dört.
‫Yani burada oluşturduğumuz beş sütunumuz var.
‫Ve şimdi birinci takımı sıfırıncı sütuna, birinci takımın skorunu birinci sütuna ve diğerlerine ayarlayacağım.
‫Ve şimdi bu ilerleme çubuğu için sıfır olacak bir minimum değere ve bir maksimum değere sahip olmak istiyorum.
‫Eğer futboldan anlıyorsanız, nereden geldiğinize ya da İngiliz İngilizcesi mi yoksa Amerikan İngilizcesi
‫mi kullanmak istediğinize bağlı olarak 90 dakika ya da futbol olduğunu bilirsiniz.
‫Bağlamak istediğimiz bir değerimiz var ve bunu buradaki metinle yaptık, yani basitçe metne bağladık.
‫Ancak şimdi bir ilerleme çubuğunun değerini bağlamak istiyoruz, çünkü bir ilerleme çubuğu sadece bir metin
‫değildir, aslında tamsayı türünde bir değere ihtiyaç duyar.
‫Burada bağlayacağım şey tamamlama işlemi olacak ve şimdi bunu test edebilmeliyiz.
‫Yani şikayet ediyor olsa da, bunun nedeni ilerleme çubuğunu kapatmamam.
‫Tamam.
‫Ancak gördüğünüz gibi, burada hiçbir şey yok çünkü kullandığımız değerler kodun içinde.
‫Ve henüz kodu derlemedi.
‫Örnek dosyamızdaki ana sınıfımızın kodunu kontrol etmez.
‫Şimdi de çalıştırıp çalıştıramayacağımızı kontrol edeyim.
‫Bu arada, eğer bunu çalıştırmak istiyorsak, eklememiz gereken önemli bir şey var ve o da laboratuvar eşleşmeleri.
‫Nokta öğesi kaynağı eşleşmelerimize eşittir.
‫Şimdi LWB maçları nedir ve madde kaynağı nedir?
‫Tüm eşleşmelere bakarsak, bu bizim liste kutumuzdur.
‫Bu yüzden buna liste kutusu diyorum, liste kutusu eşleşmeleri için ayakta duracağım.
‫Dolayısıyla bu liste kutusu tüm eşleşmelerimizle ilgilenecek veya tüm eşleşmelerimizi görüntüleyecektir.
‫Arkasındaki fikir bu.
‫Doğru.
‫Ve bir veri kaynağına ihtiyaç duyar çünkü aksi takdirde herhangi bir veri göstermez.
‫Ben de dedim ki, tamam, bunun maçlarımızın veri kaynağı olmasını istiyorum.
‫Ve maçlar veri kaynağı olmalıdır.
‫Bu yüzden şimdi Bayern Münih ile Real Madrid arasındaki 3'e 2 skorlu maçı göstermesi gerekiyor.
‫Ve sonra Bayern Münih, Real Madrid, Bayern'in üç golü var, Real'in iki golü var.
‫Ve sonra Zamanın neredeyse dolduğunu söyleyen İlerleme Çubuğumuz var, yani maç neredeyse bitti.
‫Şimdi.
‫Skorun iki takımın ortasında olmasını istedim, bu yüzden buradaki sırayı değiştirmem gerekecek.
‫Ve bu şekilde değiştireceğim.
‫Tabii ki burada da sütunları ayarlamam gerekiyor çünkü puanların yan yana olmasını istiyorum.
‫Onları karşılaştırmak daha kolay.
‫Şimdi tekrar çalıştıralım ve eksi üç ve Real Madrid'in iki tane olduğunu ve aslında biraz daha iyi olmaları gerektiğini,
‫metnin ortalanmış olması gerektiğini görebiliriz.
‫Burada yapabileceğimiz şey aslında skor için biraz daha güzel hale getirmek ve onu hizalayacağım ve bunu
‫yatay hizalama merkezi olacak bir çizgi ile yapabilirim.
‫Bunu her iki skor için de yapacağım.
‫Tekrar çalıştıralım.
‫Şimdi görebileceğiniz gibi, kullanıcı arayüzünüzü bu şekilde ayarlayabilir, değişikliklerinizi uygulayabilir ve biraz daha
‫güzel hale getirebilirsiniz.
‫Hatta bu sayıyı sağa ve bu sayıyı sola doğru hizalayabilir ve hatta araya
‫iki nokta üst üste gibi bir şey girebilirsiniz.
‫Tamam.
‫Bu bizim ilk maçımız.
‫Şimdi senin için küçük bir meydan okuma.
‫Lütfen devam edin ve birden fazla farklı eşleşme ekleyin.
‫Ve bu futbol olmak zorunda değil.
‫İlerleme çubuğunun ne olması gerektiğine dair maçlara girebilir veya futbol oynayabilirsiniz,
‫süre dolmuş gibi bir şey ve her iki tarafta da skorlarıyla birlikte sadece iki takımınız var.
‫Bu yüzden lütfen devam edin ve bunu ekleyin.
‫Tamam.
‫Umarım denemişsinizdir.
‫Ve bu oldukça basit olmalı çünkü bu eşleşmeyi burada yarattık.
‫Yapmamız gereken tek şey bunu birkaç kez kopyalayıp yapıştırmak ve şimdi sadece takım adlarını
‫ve skorları ayarlamak.
‫Bu yüzden burada bir şeyler hazırladım ve dediğim gibi, ben daha çok bir futbol hayranıyım, bu yüzden futbol takımlarını
‫ekleyeceğim.
‫Paris Saint-Germain'i temsil eden uluslararası bir PSG, Barsa'ya karşı oynayacak ve Barsa şu anda Page'e
‫karşı kaybediyor, ancak hala bolca zamanları olduğu için hala kazanabilirler.
‫Yani sadece 55. dakika.
‫Sonra Bvb, Dortmund gibi Almanya'nın çoğu zaman en iyi ikinci takımı ve bize ya da Roma'ya
‫karşı oynuyorlar.
‫Burada bir başka takımımız daha var, o da Manchester United.
‫Bir galaksiye karşı oynamaları pek olası değil, ancak birbirlerine karşı oynamaları mümkün ve burada da farklı
‫bir takım yazmak ya da düşünmek zorunda kalmamak için son skordan kurtulacağım.
‫Yani bu maç o kadar uzun değil ya da o kadar uzun sürmedi.
‫Ve burada Manchester United bir gol attı ve Zlatan Ibrahimovic de LA Galaxy için bir
‫gol attı.
‫35. dakika ve Barsa.
‫Bence bu iyi bir şey.
‫Böylece onu olduğu gibi tutabilir ve şimdi tekrar çalıştırabiliriz.
‫Ardından, burada tüm farklı takımları ve skorlarını gösteren küçük bir arayüzümüz olduğunu göreceksiniz
‫ve ardından ne kadar içeride olduklarını da görebilirsiniz.
‫Elbette, başlangıç saati, bitiş saati gibi şeyler ekleyebilir, aklınıza gelebilecek her türlü bilgiyi
‫ekleyebilirsiniz.
‫Tüm oyuncular gibi bir şeye sahip olsaydınız oldukça güzel olurdu.
‫Eğer buraya sıralamayı eklemek istiyorsanız, yapabileceğiniz şey elbette Line Up adında yeni bir
‫özellik oluşturmaktır; bu özellik uzun bir dizi veya tüm farklı oyuncu adlarını içeren bir dizi
‫listesi olacaktır.
‫Ve sonra birisi bunlardan birine basıp seçme düğmesine bastığında bunu görüntüleyebilirsiniz.
‫Ancak henüz seçme düğmemiz yok ve şimdi ekleyeceğimiz şey bu, çünkü diyebilirsiniz
‫ki, Oh, orada bazı ek bilgilere sahip olmak istiyorum.
‫Ve bu çok önemli.
‫Eğer bunu istiyorsanız ya da bir uygulamada buna gerçekten ihtiyaç duyacağınız bir noktaya gelirseniz,
‫bu gerçekten iyi bir şey.
‫Bu yüzden bunu liste kutusunun dışına koyacağım.
‫Bu arada, liste kutumuzda herhangi bir sütun ayarlamadım, ancak bu WPF'nin bizim için yaptığı
‫bir şey.
‫Dolayısıyla, atama yapmazsak ilk öğe otomatik olarak sıfır sıfır olacaktır.
‫Ama bir saniye içinde atayacağım.
‫Öncelikle bir düğme ekleyeceğim.
‫Öyleyse yeni bir düğme oluşturalım.
‫Bunu Grid Sütun bir'e ayarlayalım ve buna bir tıklama olayı ekleyelim.
‫Ve yeni bir etkinlik oluşturacağım.
‫Bu yüzden new event handler diyeceğim ve benim için bir buton tıklama
‫metodu ekleyecek ve ben de buna show selected diyeceğim.
‫Yani düğme tıklaması, belki bu en iyi isim değil, ama evet, tamam, bu düğme tıklamasını kullanabiliriz.
‫İşte bu düğmeye tıklama yöntemimiz var.
‫Bu da bana daha fazla bilgi gösterecek.
‫Ve şimdilik sadece aşağıdakileri yapacak.
‫Sadece seçilen eşleşmenin boş olup olmadığını kontrol edecektir.
‫Yani lbe, seçilen öğenin eşit, boş veya null olmamasıyla eşleşir.
‫Çünkü eğer boşsa, o zaman hiçbir şey olmasını istemiyorum.
‫Ancak boş değilse, mesaj kutusunda bir şey göstermek istiyorum
‫ve Seçilen Eşleşme artı olacak gibi bir şey göstereceğim ve burada tüm farklı eşleşmeleri göstereceğim.
‫Evet.
‫El B gibi bir şeye ihtiyacım var, seçilen öğeyi bir eşleşme olarak eşleştiriyor ve bundan takıma sahip olmak istiyorum çünkü şimdi eşleşmeler seçilen öğe bir
‫eşleşme sınıfı değil, ancak onu bir eşleşme olarak kullanmak istiyorum.
‫Ve orada birinci takım artı boş bir alan ve bir sonraki satırı göstermek istiyorum.
‫Bunu buraya kopyalayacağım.
‫Bir sonraki satıra koyacağım.
‫Ve burada takıma göstermek istemiyorum.
‫Skor 1'i göstermek istiyorum.
‫Bir sonraki satırda, skor ikiyi göstermek istiyorum.
‫Ve son olarak, ekibe ikinciyi göstermek istiyorum.
‫Sonrasında artık boşluğa ihtiyacım yok ve iki nokta üst üste ve aslında bunun gibi noktalı virgül kullanabilirim.
‫Mesaj kutusunda bir şeyi bu şekilde gösterebilirim.
‫Ve bu durumda, ekibime bu arada bir kez daha göstereceğim.
‫Böylece LWB'nin seçilen öğeyle eşleştiğini görürsünüz.
‫Seçilen öğe bir nesne ve ben onu bir eşleşme olarak kullanmak istiyorum, böylece birinci takım, ikinci takım ve skor özelliklerine
‫erişebiliyorum.
‫Yoksa bunu yapamazdım.
‫Yani bunu dışarıda bırakırsam, sadece birinci takımı arayamam.
‫Birazdan göstereceğim.
‫Diyelim ki burada bu eşleşmeler nokta seçili öğe nokta olacak ve burada bana özellikleri sunmadığını görebilirsiniz
‫çünkü bu bir nesne.
‫Bu seçilen öğe sadece bir nesnedir ve sadece string ve benzerlerine eşit olan yöntemlere sahiptir.
‫Ama aslında ihtiyacım olan şey eşleşmemdeki özellikler ve seçilen nesnenin
‫bir eşleşme nesnesi olduğunu biliyorum.
‫Bu yüzden özelliklerine erişebiliyorum.
‫Harika.
‫Şimdi devam edelim ve bunu test edelim.
‫Ve bundan sonra bu video ile işimiz bitecek.
‫Umarım siz de takip edebilirsiniz ve her şey yolunda gider.
‫Şimdi Barsa'yı seçtim ya da Barsa'nın seçili olduğunu gösterdim ve gördüğünüz gibi PSG three to Barsa maçını
‫seçtim.
‫Yani şu anki skor bu.
‫Ve burada elbette devam edip daha fazla bilgi ekleyebilir veya hatta iki takımın
‫maç kadrosu gibi tüm farklı bilgileri göstereceğiniz yeni bir pencere açabilirsiniz.
‫Pekala, bu oldukça uzun bir videoydu ve epeyce şey yaptık.
‫Liste kutuları kullandık.
‫Bunu gördün.
‫Sonra ızgarayı tekrar kullanırız.
‫Artık bunu kullanabileceğimizi görüyoruz.
‫Ancak bunda ilginç olan şey, birincisi, bu küçük eşleşme listesini oluşturmak için kullandığımız özellikleri
‫içeren bir sınıf yaratmış olmamızdı, ki bu oldukça havalı çünkü ilerledikçe bunu
‫kolayca genişletebiliriz.
‫Ayrıca veri bağlama özelliğini kullandık ve burada ana pencere sınıfımız olmadan sınıfımız içindeki
‫bir özelliğe bağlandık.
‫Burada eşleştirin, böylece buna kolayca erişebiliriz ve bu oldukça havalı.
‫Okeydokey.
‫Yani bu video için iyi olduğunu söyleyebilirim.
‫Bir sonrakinde görüşürüz.