[Silverlight] ItemsControl in WrapPanel = verticaal stacken?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 05-09 10:36

Dark Blue

Compositionista!

Alpenmeisje

Topicstarter
Ik heb weer eens wat raars. Ik was er zo mee bezig dat ik er mijn zondagmiddag even aan gewaagd heb. Maar ik kom er niet uit.

Ik heb in principe het volgende:
XML:
1
2
3
4
5
6
7
<ScrollViewer>
<WrapPanel>
<Button />
<Button />
<Button />
</WrapPanel>
</ScrollViewer>


Dit gaat goed en heb ik op een andere locatie ook al zo in gebruik, om GroupBoxen mooi naast elkaar (en wanneer nodig onder elkaar) te laten flowen. Same shit met deze knoppen, zou je denken. Niet.

Maar, onze content wordt dynamisch opgebouwd, dus heb ik die Button vervangen door een ItemsControl.
Dat is zover de enige manier die ik ken.

XML:
1
2
3
4
5
<ScrollViewer>
<WrapPanel>
<ItemsControl ItemsSource="{Binding DummyItems}" ItemTemplate="{StaticResource DummyItem}"/>
</WrapPanel>
</ScrollViewer>


Aan de ItemTemplate zit een DataTemplate gekoppeld die simpelweg weer de Button in zich heeft.
Maar wat verbaast me nou: zodra ik die drie buttons vervang door 1 itemscontrol, gaan de items spontaan verticaal stacken! Ik wil ze horizontaal.

Ik heb gekeken naar de breedte van de ItemsControl. Ook als ik die zet, gewoon op 500 ofzo, en een button op 100, dan stackt hij ze lustig onder elkaar, maar wel gecentreerd op een veld van 500 pixels breed. What happened to naast elkaar zetten?

- weet iemand waarom dit gebeurt en hoe ik kan zorgen dat ze naast elkaar gaan staan, en bij overflow onder elkaar doorgaan?
- weet iemand een alternatief voor zo'n itemspanel, dat wél luistert?

Hulp is welkom :)

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


Acties:
  • 0 Henk 'm!

Verwijderd

Probeer dit eens:
code:
1
2
3
4
5
6
7
8
9
10
11
12
     <ScrollViewer>
            <ItemsControl>                
                <Button Width="100" Height="20" />
                <Button Width="100" Height="20" />
                <Button Width="100" Height="20" />
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel />
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
            </ItemsControl>
     </ScrollViewer>


Een ItemsControl is eigenlijk een heel minimale implementatie van een control dat een items source om kan zetten naar een verzameling controls. Net als een ListBox e.d. Het verschil met de uitgebreidere items controls zit em voornamelijk in de defaults voor o.a. de control waar de items in geplaatst worden en andere behaviours.

Ik ben erg slecht in dit uitleggen merk ik :P

Acties:
  • 0 Henk 'm!

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 05-09 10:36

Dark Blue

Compositionista!

Alpenmeisje

Topicstarter
Jeeuuj *O*
Het werkt! Duizendmaal dank :)

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


Acties:
  • 0 Henk 'm!

Verwijderd

Dark Blue schreef op zondag 05 juni 2011 @ 16:45:
Jeeuuj *O*
Het werkt! Duizendmaal dank :)
Geen dank. Mocht je nou echt willen weten hoe XAML werkt binnen silverlight dan wel WPF kan ik de (betaalde) webcasts van Plural Sight aanraden. Ik heb deze toen met een gratis maand abonnement gekeken, en het heeft me enorm geholpen.
Daarnaast is XamlPad ook extreem handig om XAML uit te proberen zonder dat je constant visual studio hoeft aan te sporen om nou eindelijk eens wat te gaan doen :P

Acties:
  • 0 Henk 'm!

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 05-09 10:36

Dark Blue

Compositionista!

Alpenmeisje

Topicstarter
Interessant, dank je.

Ik gebruik Kaxaml.
Daarmee blijft het probleem dat je wel zelf een bult buttons in je control kan zetten, maar niet door een bron data aan kan laten leveren. Het probleem trad pas op bij het gebruik van dynamische content via de itemscontrol, dus met een externe editor was ik dan niet geholpen. Ik heb VS en de hele omgeving nodig. :)

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs