I love databound listboxes in WP7. I do. I really do. However, every time I come to the part of making a nice template for each item (i.e. shiny ugly orange border, etc.) I fail in having items of equal size. This is usally what I produce:
Resulting in:
In WPF, the trick is to set the HorizontalAlignment=”Stretch” property of the Listbox. However, apparently there still some internal bug in the ListBox control, which results in the ListBox simply ingoring that setting.
The solution however is, luckily, provided by Microsoft’s Peter Torr in a reply in here.
By simply adding the ItemContainerStyle as described in the post , to the ListBox we get the result we are looking for:
Resulting in ..hooray:
Update: As Alex Sorokoletov was so kindly to cmment (thanks for that), there’s even a simplier solution:
<ListBox.ItemContainerStyle>
<Style TargetType=”ListBoxItem”>
<Setter Property=”HorizontalAlignment” Value=”Stretch” />
<Setter Property=”HorizontalContentAlignment” Value=”Stretch”/>
</Style>
</ListBox.ItemContainerStyle>
You can achieve your goal simplier.
LikeLike
Style TargetType=”ListBoxItem”
Setter Property=”HorizontalAlignment” Value=”Stretch”
Setter Property=”HorizontalContentAlignment” Value=”Stretch”
/Style
LikeLike
greate job, I like it~
LikeLike