Creating a WP7 app: Listbox items of the same width

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>

Advertisements

XML-databinding in WPF using Blend 4

This tutorial shows how easy it is to use XML-databinding in Blend without writing a single line of code and mostly using the drag-and-drop magic of Blend. We will create a very simple rss-reader that shows the content of a single rss-feed. This post was inspired by the great talk by Isabel Gomez Miragaya and Katrien De Graeve they gave at TechDays 2011 Belgium titled “Designing and Building a Windows Phone 7 Application end-to-end” (video of the talk). Read more of this post

Using Linq to filter a databound listbox in WPF/Silverlight

In this short tutorial I show how to use Linq in order to filter the items shown in a listbox, which in turn is databound to an ObservableCollection.

Suppose we use the listbox created in the previous tutorial where we show the age and name of each user in the collection. All our databinding code-remains the same as before. What we have to add is a new collection in between our original source and the listbox. The in between collection is our Linq-query result. Each time we wish to change our filter, we change the query. Read more of this post

Adding buttons to databound listbox items in WPF

Introduction

In this tutorial I will demonstrate how to create a listbox in WPF which is databound to a collection, we then would like to add a button to each item in the listbox. Clicking this button will button will delete that item from the collection.

Read more of this post