This is very simple using a CompositeCollection:
<ComboBox DisplayMemberPath="CategoryName" SelectedValuePath="CategoryID"> <ComboBox.ItemsSource> <CompositeCollection> <my:Item CategoryName="All" CategoryID="%" /> <CollectionContainer Collection="{Binding CategoryList}" /> </CompositeCollection> </ComboBox.ItemsSource> </ComboBox>
How it works: The CompositeCollection produes the "All" item followed by all of the items in the CategoryList collection. Note that <my:Item ... /> is the constructor for your item class. You will need to change it to your actual namespace and class name.
Important advice: I notice you are setting some ComboBox properties in code-behind. This is a very bad practice. You should use XAML as shown above.