2011-05-25 20 views
7

WPF hakkında öğreniyorum. Şimdi bağlayıcı olmaya geldim. Bağlama, INotifyPropertyChanged kullanılırken yansımaya dayanıyor mu ve öyle, fiyatı nedir? UDP üzerinden aktarım yapan verileri görüntülemek için WPF kullanmayı düşünüyorum, ancak yükün WinForms'a göre çok büyük olabileceğinden korkuyorum.WPF Bağlama Başlığı

+0

iyi soru. +1 – nawfal

cevap

7

İşte bu bir MSDN article hakkındadır. Bu her zaman duyduğum oldukça yaygın bir sorudur.

Ancak benim düşüncem, ciddi bir durum senaryosuna girmediğiniz sürece WPF'de bağlayıcı kullanmak istiyorsunuz. Bütün sistemin tasarlandığı yol budur.

+0

En mükemmel. Teşekkür ederim. – kasperhj

5

Microsoft, bu here üzerinde büyük bir kayıt var.

Ancak yansıma, INotifyPropertyChanged ile ilgili olarak kullanılmaz, ancak CLR özelliklerini çözümlerken geçerlidir.

kaynak nesne bir CLR nesnesi ve kaynak tesiste CLR özellik ise, Windows Presentation Foundation (WPF) veri bağlama motoru kaynak nesne üzerinde ilk kullanımı yansıması vardır almak TypeDescriptor ve bir PropertyDescriptor için sorgulayın. yansıtma işlemlerinin bu dizisi, bir performans açısından perspektifinden çok zaman alıcıdır.

+3

Bu Yansıtma ek yükünün yalnızca Bağlama için ilk PropertyPath ayrıştırdığınızda ortaya çıktığı dikkati çeker. Bağlantılı ifadeyi ayrıştırılmış bir biçimde önbelleğe alan sahnelerin arkasında oldukça karmaşık bir PropertyPathWorker vardır; bu, gerekli meta verileri almak için Yeniden Yansıtmaya gerek kalmadan, yolun herhangi bir yerinde bildirilmiş değişikliklere tepki vermesini sağlar. –