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.