2009-01-16 35 views
11

WPF/Silverlight yerleşimi için, çok sayıda satır ve sütun veya Stackpanels tonu olan bir ızgara kullanmak daha iyi olur mu?WPF Grid vs Stackpanel

cevap

18

Yatay ve dikey olarak hizalanacak şeylere ihtiyacınız varsa bir Izgara kullanmalısınız. Bu şeylerin başka bir şeyle sıraya girmesi gerekmediğinde bir satır veya sütun oluşturmak için StackPanel kullanın. Bununla birlikte, kendinizi bu iki seçenekle sınırlandırmayın. Özellikle, DockPanel bir göz atın. StackPanel'den biraz daha karmaşık, ancak işaretlemesi Izgara gibi darmada değil. İşte DockPanel üzerinde iyi bir makale:

Using the DockPanel in Silverlight 2

-1

Böyle bir düzende deneyimim yok, ancak bahse girerim ki, ızgara çok sayıda iç içe geçirme yığınına kıyasla daha kolay işlenebilir.

3

Kullandığınız kap, içeriğe dayalı olmalı ve bir yaklaşımın diğerinden daha iyi olup olmadığı değil. Hem yatay hem de dikey olarak hizalanacak şeylere ihtiyacınız varsa, bir ızgara kullanmalısınız. Ama bunun dışında, gerçekten göstermek istediğiniz içeriğe bağlı.

1

Grid'in daha iyi bir fikir olduğunu düşünüyorum. Genel düzeni genel olarak bir Izgara ile kurarım ve bazı özel şeyler yapmak için burada ve birkaç yığın yığını kullanırım. Ayrıca, performansın Izgaralar ile daha iyi olduğu ve Izgaraların genellikle size daha fazla esneklik kazandıracağı duygusuna sahibim.

1

ben Izgara daha iyi bir fikir olduğunu sanmıyorum. örneğin

, siz (ortada) mevcut Grid düzeni belgeye bir satır var

satır 1,2,3,4 olduğunu exising eklemek istiyorsanız, o zaman gereksinimi 1 ve arasında yeni bir satır eklemek olduğunu

2. o zaman

bir satır 3 varsa düşünmek (.... tüm etiketini bir değişiklik bulmak) 3,4,5 için 2,3,4 değiştirmek zorunda - 5 sütun ... tüm dijital yeniden düzenlemek için kirli bir iş.

0

Yeni öğeleri, satırları veya sütunları eklerken değişiklik yapmayı daha kolay bulduğum için StackPanel'i tercih ederim. Bir ızgara ile, nerede olduğunuzu bulmak için satır numaralarını ve sütun numaralarını okumanız gerekir. Bir StackPanel ile sadece yuvalamayı takip edersiniz, bu bir ızgaradan daha kolay ve daha az dağınıktır.

Örneğin, bir XAML sayfasında, bir üst ızgara gibi yatay bir yığın paneli kullanıyorum, sonra bir sütuna ihtiyacım varsa, ayrı bir "dikey" yığın yuvasına sahip oluyorum. Bu şekilde yatay bir yığınpanel bir "ızgara" haline gelir ve iç içe dikey StackPanel'in sütunları olur. Bunu bir kılavuzdaki satırları ve sütunları okumak ve değiştirmek için daha kolay buluyorum.