Dużo formantów na oknie - WTF czy dobre rozwiązanie?

0

Cześć,
piszę mały programik w którym chcę rozmieścić dużo formantów we wrappanel lecz nie wiem czy moje rozwiązanie na ten problem jest dobre czy jest inne (lepsze).
Kod XAML:

<WrapPanel Height="157" HorizontalAlignment="Left" Margin="12,128,0,0" Name="wrapPanel1" VerticalAlignment="Top" Width="395">
            <Button Height="50" Name="bt1" Width="50" Content="foo"/>
            <Button Height="50" Name="bt2" Width="50" Content="foo"/>
            <Button Height="50" Name="bt3" Width="50" Content="foo"/>
            <Button Height="50" Name="bt4" Width="50" Content="foo"/>
            <Button Height="50" Name="bt5" Width="50" Content="foo"/>
            <Button Height="50" Name="bt6" Width="50" Content="foo"/>
</WrapPanel>
0

Panel jak panel nie ma co się nad tym dużo rozwodzić. Jak chce mieć kolejno ułożone elementy w jednej linii i automatycznie przerzucane kolejne elementy do nowej linii jak zabraknie miejsca w panelu czy podczas skalowania okna to WrapPanel pasuje idealnie.

0
DibbyDum napisał(a):

Panel jak panel nie ma co się nad tym dużo rozwodzić. Jak chce mieć kolejno ułożone elementy w jednej linii i automatycznie przerzucane kolejne elementy do nowej linii jak zabraknie miejsca w panelu czy podczas skalowania okna to WrapPanel pasuje idealnie.

Ale czy to nie jest czasami żaden programistyczny WTF przy np. 3x większej ilości przycisków?

0

Ja nie wiem co próbujesz osiągnąć w WPF konstruujesz wygląd okna na dobrą sprawę jak potrzebujesz mieć w oknie taką ilość przycisków to ja upychasz. Kwestia czy masz konkretny problem czy to takie gdybanie. Bo masz jakiś cel upchania takiej ilości przycisków na oknie nie wiem grę w statki robisz i generujesz planszę z przycisków nie wiem może kiepski przykład ale jedyny który mi się aktualnie nasuną to użycie takiego panela jest okej. A jak na przykład robisz jakieś menu w stylu ms office 2007+ to wtedy takie podejście jest bez sensowne bo wszystko się rozjedzie i będzie ciężkie do modyfikacji.

0

Jest to raczej gdybanie. Zastanawiam czy specjaliści od .NET rozwiązali by problem podobnie jak ja.

0

Jeżeli masz dużo obiektów, które są powtarzalne to warto wykorzystać DataTemplete

Tutaj masz przykład:
http://www.codeproject.com/Articles/32629/A-better-panel-for-data-binding-to-a-WrapPanel-in

0

To rozwiązanie słabo spełnia swoją role ponieważ przy np. 10 elementach musimy napisać 10 linii kodu (żeby coś na każdym zrobić) może zrobić tablicę buttonów i ją wyświetlić tylko jak?

0

Nie rozumiem twojego zdania z 10 linijkami. Teraz sam zapisujesz x linijek w xaml dla każdego buttonu. Dla powtarzających się elementów jest itemtemplate i datatemplete.
Tutaj masz prosty przykład:
http://stackoverflow.com/a/5930121

1 użytkowników online, w tym zalogowanych: 0, gości: 1