2009-12-17 22 views
11

Sadece ayaklarımın Silverlight'ta ıslanmasını sağlıyorum ve bir UserControl oluşturmanın ve aynı görev için bir Kontrol yaratmanın farklarını ve eksilerini/eksilerini gerçekten anlamıyorum (İfadedeki bir seçimi sağ tıkladığınızda olduğu gibi) Örneğin, karışımı).Silverlight'ta UserControl vs Control ne zaman kullanılır?

"Make Into Control" seçeneğinin seçilmesi, belirttiğiniz taban türü için yeni bir şablon oluştururken, bir UserControl oluşturmak tamamen yeni bir temel sınıf oluşturur. Bu doğru mu? Böyle bir durumda,

Screenshot http://tinyurl.com/yjsaox9

, aşağıda betimlenen şekilde, birbirinden ayrılmış özellikleri içine 3 değerleri depolamak numaraları alır ve 3 bölüme kendisini bölen bir özel bir metin kutusu denetimi oluşturma. Bu özel durumda, hangisi daha iyi olurdu?

Screenshot 2 http://tinyurl.com/y9x7zox

Güncelleme (Ek Soru): Neden Kontrollü ben Şablon bir UserControl ile Bağlama kullanıyorum ama can değil mi? Bu bir UserControl yapmanın doğru bir karar olmayabileceğini düşündüğüm bir nedendir.

cevap

3

Dov, sanırım kendi sorunuzu güncellemenizle yanıtladı. Özel Denetimler, şablonlamayı destekleyen bir denetim yapmak istediğinizde en yararlıdır. Aksi takdirde, işlevselliği temiz bir şekilde eklemek için diğer denetimlerden devralınırken kullanışlıdırlar (TextBox -> PasswordTextBox).

+0

Evet, özel bir kontrol kesinlikle benim için en mantıklı. Teşekkürler. – Dov

4

üç metin kutularına bir grup olmak için kontrol düşünün sonra UserControl uygun olurdu, ama kontrol yine esasen olacaksa bir TextBox o zaman mevcut kontrolünü genişletmek olmalıdır "kontrol içine olun."

Bana bir UserControl gerekiyor gibi geliyor.

8

UserControls, birleşik bir denetimdir - temel olarak, tek bir, birleşik birim olarak çalışmak üzere bir araya getirilen bir grup diğer "denetimler".

Özel Kontroller, diğer yandan, tek bir kontrol olarak kullanılmak üzere tasarlanmıştır. Metin Kutusu veya Düğme gibi çerçevedeki temel denetimleri düşünün - böyle bir şey uyguluyorsanız bir Kontrol istersiniz. (Bu, özellikle WPF'de UserControls'den daha az yaygındır, çünkü diğer sınıflarda özel denetimlere gereksinim duyacağınız birkaç şeyi gerçekleştirmek için temel sınıf denetimlerinde şablonlama kullanabilirsiniz). Özel bir Kontrol, tek bir "kontrol" için yeni davranışı tanımlamakla ilgilidir.

+0

Şablon Bağlama'yı UserControl ile kullanmanın bir yolu var mı? – Dov

+1

Kompozit denetimdeki tek tek öğeler için şablonlar (ör: TextBox, TextBoxes'a atanan bir şablon alır), usercontrol'e uygulanır (kendi kendine sağlanmadığı sürece), ancak aynı seviyeyi alamazsınız. Özel bir kontrol ile yaptığınız gibi destek teması. –

İlgili konular