.NET Framework uygulamalarında verilere WPF denetimleri bağlama
Not
Veri kümeleri ve ilgili sınıflar, uygulamaların veritabanıyla bağlantısı kesilirken uygulamaların bellekteki verilerle çalışmasını sağlayan 2000'lerin başlarındaki eski .NET Framework teknolojileridir. Teknolojiler özellikle kullanıcıların verileri değiştirmesine ve değişiklikleri veritabanında kalıcı hale getirebilmesine olanak tanıyan uygulamalar için kullanışlıdır. Veri kümelerinin çok başarılı bir teknoloji olduğu kanıtlanmış olsa da, yeni .NET uygulamalarının Entity Framework Core kullanmasını öneririz. Entity Framework, tablosal verilerle nesne modelleri olarak çalışmak için daha doğal bir yol sağlar ve daha basit bir programlama arabirimine sahiptir.
Verileri WPF denetimlerine bağlayarak uygulamanızın kullanıcılarına veri görüntüleyebilirsiniz. Bu veriye bağlı denetimleri oluşturmak için, Veri Kaynakları penceresindeki öğeleri Visual Studio'daki WPF Tasarımcısı'na sürükleyebilirsiniz. Bu konu başlığında, veriye bağlı WPF uygulamaları oluşturmak için kullanabileceğiniz en yaygın görev, araç ve sınıflardan bazıları açıklanmaktadır.
Visual Studio'da veriye bağlı denetimler oluşturma hakkında genel bilgi için bkz . Visual Studio'da verilere denetim bağlama. WPF veri bağlama hakkında daha fazla bilgi için bkz . Veri Bağlamaya Genel Bakış.
WPF denetimlerini verilere bağlamayla ilgili görevler
Aşağıdaki tabloda, öğeleri Veri Kaynakları penceresinden WPF Tasarımcısı'na sürükleyerek gerçekleştirilebilecek görevler listelenmiştir.
Görev | Daha Fazla Bilgi |
---|---|
Yeni verilere bağlı denetimler oluşturun. Varolan denetimleri verilere bağlayın. |
Bir veri kümesine WPF denetimleri bağlama |
Bir üst-alt ilişkisinde ilgili verileri görüntüleyen denetimler oluşturma: Kullanıcı bir denetimde üst veri kaydını seçtiğinde, bir diğer denetim seçili kayıt ile ilgili alt verileri görüntüler. | WPF uygulamalarındaki ilgili verileri görüntüleme |
Bir tablodaki bilgileri başka bir tablodaki yabancı anahtar alanının değerine göre görüntüleyen bir arama tablosu oluşturun. | WPF uygulamalarında arama tabloları oluşturma |
Veritabanında bir denetimi görüntüye bağlayın. | Bir veritabanından resimlere denetim bağlama |
Geçerli bırakma hedefleri
Veri Kaynakları penceresindeki öğeleri yalnızca WPF Tasarımcısı'ndaki geçerli bırakma hedeflerine sürükleyebilirsiniz. İki tür geçerli bırakma hedefi vardır: kapsayıcılar ve denetimler. Kapsayıcı, genellikle denetimleri içeren bir kullanıcı arabirimi öğesidir. Örneğin, bir kılavuz bir kapsayıcıdır ve dolasıyla da bir penceredir.
Oluşturulan XAML ve kod
Veri Kaynakları penceresinden WPF Tasarımcısı'na bir öğe sürüklediğinizde, Visual Studio yeni bir veriye bağlı denetimi tanımlayan (veya mevcut bir denetimi veri kaynağına bağlayan) XAML oluşturur. Bazı veri kaynakları için Visual Studio, arka planda kod dosyasında veri kaynağını verilerle dolduran kod da oluşturur.
Aşağıdaki tabloda, Visual Studio'nun Veri Kaynakları penceresindeki her veri kaynağı türü için oluşturduğu XAML ve kod listelenir .
Data source | Bir denetimi veri kaynağına bağlayan XAML oluşturma | Veri kaynağını verilerle dolduran kod oluşturma |
---|---|---|
Veri kümesi | Yes | Yes |
Varlık Veri Modeli | Yes | Yes |
Hizmet | Yes | Hayır |
Object | Yes | Hayır |
Veri Kümeleri
Veri Kaynakları penceresinden tasarımcıya bir tablo veya sütun sürüklediğinizde, Visual Studio aşağıdakileri yapmak için XAML oluşturur:
Öğeyi sürüklediğiniz kapsayıcının kaynaklarına veri kümesini ve yenisini CollectionViewSource ekler. CollectionViewSource veri kümesinde gezinmek ve verileri görüntülemek için kullanılabilecek bir nesnedir.
Denetim için bir veri bağlama oluşturur. Öğeyi tasarımcıda varolan bir denetime sürüklerseniz, XAML denetimi öğeye bağlar. Öğeyi bir kapsayıcıya sürüklerseniz, XAML sürüklenen öğe için seçilen denetimi oluşturur ve denetimi öğeye bağlar. Denetim yeni Gridbir içinde oluşturulur.
Visual Studio arka plan kod dosyasında aşağıdaki değişiklikleri de yapar:
- Denetimi içeren ui öğesi için bir Loaded olay işleyicisi oluşturur. Olay işleyicisi tabloyu verilerle doldurur, kapsayıcının kaynaklarından öğesini alır CollectionViewSource ve ardından ilk veri öğesini geçerli öğe yapar. Bir Loaded olay işleyicisi zaten varsa, Visual Studio bu kodu mevcut olay işleyicisine ekler.
Varlık veri modelleri
Veri Kaynakları penceresinden bir varlığı veya varlık özelliğini tasarımcıya sürüklediğinizde, Visual Studio aşağıdakileri yapmak için XAML oluşturur:
Öğeyi sürüklediğiniz kapsayıcının kaynaklarına yeni CollectionViewSource bir ekler. CollectionViewSource, varlıkta gezinmek ve verileri görüntülemek için kullanılabilecek bir nesnedir.
Denetim için bir veri bağlama oluşturur. Öğeyi tasarımcıda varolan bir denetime sürüklerseniz, XAML denetimi öğeye bağlar. Öğeyi bir kapsayıcıya sürüklerseniz, XAML sürüklenen öğe için seçilen denetimi oluşturur ve denetimi öğeye bağlar. Denetim yeni Gridbir içinde oluşturulur.
Visual Studio arka plan kod dosyasında aşağıdaki değişiklikleri de yapar:
Tasarımcıya sürüklediğiniz varlık (veya tasarımcıya sürüklediğiniz özelliği içeren varlık) için bir sorgu döndüren yeni bir yöntem ekler. Yeni yöntemin adı
Get<EntityName>Query
, burada\<EntityName>
varlığın adıdır.Denetimi içeren ui öğesi için bir Loaded olay işleyicisi oluşturur. Olay işleyicisi, varlığı verilerle doldurmak için yöntemini çağırır
Get<EntityName>Query
, kapsayıcının kaynaklarından öğesini alır CollectionViewSource ve ardından ilk veri öğesini geçerli öğe yapar. Bir Loaded olay işleyicisi zaten varsa, Visual Studio bu kodu mevcut olay işleyicisine ekler.
Hizmetler
Veri Kaynakları penceresinden bir hizmet nesnesini veya özelliğini tasarımcıya sürüklediğinizde, Visual Studio veriye bağlı bir denetim oluşturan (veya var olan bir denetimi nesneye veya özelliğe bağlayan) XAML oluşturur. Ancak, Visual Studio ara sunucu hizmeti nesnesini verilerle dolduran kod oluşturmaz. Bu kodu kendiniz yazmalısınız. Bunun nasıl yapıldığını gösteren bir örnek için bkz . WPF denetimlerini WCF veri hizmetine bağlama.
Visual Studio aşağıdakileri yapan XAML oluşturur:
Öğeyi sürüklediğiniz kapsayıcının kaynaklarına yeni CollectionViewSource bir ekler. CollectionViewSource, hizmet tarafından döndürülen nesnede verilerde gezinmek ve verileri görüntülemek için kullanılabilecek bir nesnedir.
Denetim için bir veri bağlama oluşturur. Öğeyi tasarımcıda varolan bir denetime sürüklerseniz, XAML denetimi öğeye bağlar. Öğeyi bir kapsayıcıya sürüklerseniz, XAML sürüklenen öğe için seçilen denetimi oluşturur ve denetimi öğeye bağlar. Denetim yeni Gridbir içinde oluşturulur.
Nesneler
Veri Kaynakları penceresinden bir nesneyi veya özelliği tasarımcıya sürüklediğinizde, Visual Studio veriye bağlı bir denetim oluşturan (veya var olan bir denetimi nesneye veya özelliğe bağlayan) XAML oluşturur. Ancak, Visual Studio nesneyi verilerle doldurmak için kod oluşturmaz. Bu kodu kendiniz yazmalısınız.
Not
Özel sınıfların ortak olması ve varsayılan olarak parametresiz bir oluşturucuya sahip olması gerekir. Söz dizimlerinde "nokta" bulunan iç içe yerleştirilmiş sınıflar olamazlar. Daha fazla bilgi için bkz . WPF için XAML ve özel sınıflar.
Visual Studio aşağıdakileri yapan XAML oluşturur:
Öğeyi sürüklediğiniz kapsayıcının kaynaklarına yeni CollectionViewSource bir ekler. CollectionViewSource, nesnede gezinmek ve verileri görüntülemek için kullanılabilecek bir nesnedir.
Denetim için bir veri bağlama oluşturur. Öğeyi tasarımcıda varolan bir denetime sürüklerseniz, XAML denetimi öğeye bağlar. Öğeyi bir kapsayıcıya sürüklerseniz, XAML sürüklenen öğe için seçilen denetimi oluşturur ve denetimi öğeye bağlar. Denetim yeni Gridbir içinde oluşturulur.